Wincc6.2的MSComm控件的应用

请教高手,在Wincc6.2中是如何应用MSComm控件进行485通讯的,主要是如何去打开它的portopen属性,希望能有详细说明,谢谢。

问题补充:
关键是怎么使控件的PortOpen属性变为true,答案里都提到在WINCC里注册,我已经注册了,还是不行?

最佳答案

补充问题:我试了一下,控件的PortOpen是不可改的,使用脚本修改。

我来说个比较完整的流程吧。

1.注册MSComm控件。在运行中键入regsvr32.exe mscomm32.ocx,回车。

2.添加许可证。在运行中键入regedit打开注册表,在HKEY_CLASSES_ROOT\Licenses下建立一个Key主键,default默认值输入kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun。

3.WinCC画面编辑器中拖入Control控件,选择Microsoft Communication Control。

4.Mscomm控件的属性使用VB脚本修改,不必修改静态属性。基本属性及意义:
CommPort  设置并返回通讯端口号。  
Settings  以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。  
InputMode  设置并返回接收类型  0字符/1二进制。
SThreshold  设置并返回发送时产生ONComm事件的字符数  。
RThreshold  设置并返回接收时产生ONComm事件的字符数  。
PortOpen  设置并返回通讯端口的状态。也可以打开和关闭端口。  
Input  从接收缓冲区返回和删除字符。  
Output  向传输缓冲区写一个字符串。

5.组态按钮,点击事件为VBS动作。
Set  objMScomm=ScreenItems("MSComm1")  '每一个Com端口对应一个Mscomm控件
objMScomm.CommPort  =  1  '...使用Com1口  
objMScomm.Settings  =  "9600,n,8,1"  '...设置通讯参数  
objMScomm.PortOpen  =  True  '...打开串口

6.Mscomm控件的Oncomm事件为VBS动作。
if  objMScomm.CommEvent=2  then    '...有接受事件发生  
data1  =  objMScomm.Input  '...接收数据  
end  if

http://www.ad.siemens.com.cn/club/bbs/post.asp?myreply=&b_id=5&a_id=306434&s_id=&num=#anch

提问者对于答案的评价:
已经测试成功,非常感谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc266420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午4:29
下一篇 2019年6月11日 上午4:30

相关推荐