工控机上装有WINCC,如何利用工控机机串口,实现和具有RS485接口的设备通信? 10
现场有多个同样的检查设备,都具有RS485接口,现用一台工控机,装上Wincc,通过工控机的串口和现场的所有设备通讯,应该如何实现呢?我的思路:1)现场的设备设置各自的地...
现场有多个同样的检查设备,都具有RS485接口,现用一台工控机,装上Wincc,通过工控机的串口和现场的所有设备通讯,应该如何实现呢?
我的思路:
1)现场的设备设置各自的地址,通过RS485串口用电缆连接。
2)现场设备连接后,通过RS232/485转换模块转换为RS232接口,和工控机串口相连。
3) 在wincc里通过脚本,实现对某个现场设备信息的读/写。
这种方法可行吗?一个RS232/485转换模块能不能接多个485设备?wincc里如何实现对串口数据的监听,读/写脚本如何写?
在wincc里通过按钮触发,已经实现对外面站的写操作。但是,外面站返回到串口的信息,wincc不能读出来。读的代码如下:
Dim strBuffer,strTemp
Dim objMSComm1,
Dim RecvAdd,RecvData
Set RecvAdd = HMIRuntime.Tags("RecvAdd")
Set RecvData= HMIRuntime.Tags("RecvData")
Set objMsComm1 = HMIRuntime.Screens("main_menu").ScreenItems("MSComm1")
If objMSComm1.PortOpen = True Then
'read the buffer
strTemp = CStr(objMSComm1.Input)
If strTemp <> "" And Left(strTemp,1) = Chr(106) Then
RecvAdd.value=CLng(Mid(strTemp,2,1))
RecvAdd.Write
RecvData.value=Clng(Mid(strTemp,2,1))
RecvData.Write
End If
End If
这样Wincc的内部变量RecvAdd和RecvData都没有数据。错在哪里呢? 展开
我的思路:
1)现场的设备设置各自的地址,通过RS485串口用电缆连接。
2)现场设备连接后,通过RS232/485转换模块转换为RS232接口,和工控机串口相连。
3) 在wincc里通过脚本,实现对某个现场设备信息的读/写。
这种方法可行吗?一个RS232/485转换模块能不能接多个485设备?wincc里如何实现对串口数据的监听,读/写脚本如何写?
在wincc里通过按钮触发,已经实现对外面站的写操作。但是,外面站返回到串口的信息,wincc不能读出来。读的代码如下:
Dim strBuffer,strTemp
Dim objMSComm1,
Dim RecvAdd,RecvData
Set RecvAdd = HMIRuntime.Tags("RecvAdd")
Set RecvData= HMIRuntime.Tags("RecvData")
Set objMsComm1 = HMIRuntime.Screens("main_menu").ScreenItems("MSComm1")
If objMSComm1.PortOpen = True Then
'read the buffer
strTemp = CStr(objMSComm1.Input)
If strTemp <> "" And Left(strTemp,1) = Chr(106) Then
RecvAdd.value=CLng(Mid(strTemp,2,1))
RecvAdd.Write
RecvData.value=Clng(Mid(strTemp,2,1))
RecvData.Write
End If
End If
这样Wincc的内部变量RecvAdd和RecvData都没有数据。错在哪里呢? 展开
3个回答
展开全部
方案可以
读写串口数据可以调用MSCOMM控件,MSCOMM控件可以在网上下载,也可以找到控件的使用方法
读写串口数据可以调用MSCOMM控件,MSCOMM控件可以在网上下载,也可以找到控件的使用方法
追问
读写脚本怎么写?
追答
在网上查一下MSCOMM控件用法就可以了,或者去西门子官网的论坛上可以找到源代码的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法可行,如果自己编,可能效率更高点,WINCC好像慢点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询