有一个第三方的设备,是昆仑通态触摸屏和6个传感器进行6路modbus 485通讯,屏和传感器已经成功建立modbus RTU通讯。但是传感器的数据只能在触摸屏上看,领导想把这些数据读到plc里。因为屏和传感器都是从其他公司买的,没有屏的程序,无法对屏的组态进行更改。
我打算用CPU ST30加上SB CM01通讯板,把485线并在传感器的信号线上来读取传感器的数据。plc开启端口接收(不发送只接收),它相当于一个侦听设备,接收屏发送给从站(传感器)的数据、还有从站(传感器)发给屏的数据。
请问这种方式如何实现?
最佳答案
你的问题还没有得到解决?
首先你必须确认这6个传感器目前是什么通讯?modbus是一个大范围,有modbus rtu和ascill2个大类型。如果已经有modbus通讯建立了(与触摸屏),你的方案还真的不可以,因为modbus rtu通讯是半双工方式,通讯链路上只允许一条通讯指令有效,原已经与昆仑通态触摸屏通讯了,就无法再创建另一个modbus通讯。
留给你只能是搞到触摸屏程序,读懂它们之间的数据交换方式,再定采用什么通讯方式,把数据传送到plc。
提问者对于答案的评价:
传感器的协议我找到了,是modbus rtu。通讯参数:波特率 9600bps;数据帧:1个起始位、8位数据、偶校验、1个停止位。8位数据我了解怎么读取换算了,但是modbus站地址我没搞明白。站地址就是起始位吗?
然后昆仑屏的组态程序没有勾选允许回传框,组态无法上传。我只能用串口调试软件看能不能读取到数据,然后慢慢判断了
最佳答案作者回复:
站地址在modbus rtu协议里可以设置1~247这些数字,西门子modbus rtu规定,你选择其中的某一些数字,一个站选一个数字。
你的问题我上面也说了,一个传感器是不能够连接到2个通讯网络的,虽然市面上有那些所谓的分配器,1:2、1:4什么的,但是应用的可靠性是一个问题。
是的,只能是整合到一起了,搞到触摸屏程序再作进一步打算吧。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc347748.html