西门子plc与欧姆龙温控器MODEMWord下载.docx
《西门子plc与欧姆龙温控器MODEMWord下载.docx》由会员分享,可在线阅读,更多相关《西门子plc与欧姆龙温控器MODEMWord下载.docx(14页珍藏版)》请在冰豆网上搜索。
AB=VB2111,0
RM17.1,1
SM17.2,1
RM17.0,1
LPP
AB<
>
VB2111,0
LRD
AM17.3
AB=VB2112,0
RM17.2,1
SM17.4,1
RM17.3,1
VB2112,0
AM17.5
AB=VB2113,0
RM17.4,1
SM17.6,1
RM17.5,1
VB2113,0
AM17.7
AB=VB2114,0
RM17.6,1
SM18.0,1
RM17.7,1
VB2114,0
AM18.1
AB=VB2115,0
RM18.0,1
SM18.2,1
RM18.1,1
VB2115,0
AM18.3
AB=VB2116,0
RM18.2,1
SM18.4,1
RM18.3,1
VB2116,0
AM18.5
AB=VB2117,0
RM18.4,1
SM18.6,1
RM18.5,1
VB2117,0
3.循环扫描二:
AM18.7
AB=VB2118,0
RM18.6,1
SM20.0,1
RM18.7,1
VB2118,0
AM20.1
AB=VB2119,0
RM20.0,1
SM20.2,1
RM20.1,1
VB2119,0
AM20.3
AB=VB2120,0
RM20.2,1
SM20.4,1
RM20.3,1
VB2120,0
AM20.5
AB=VB2121,0
RM20.4,1
SM20.6,1
RM20.5,1
VB2121,0
AM20.7
AB=VB2122,0
RM20.6,1
SM19.2,1
RM20.7,1
VB2122,0
AM19.3
AB=VB2123,0
RM19.2,1
SM19.4,1
RM19.3,1
VB2123,0
AM19.5
AB=VB2124,0
RM19.4,1
SM17.1,1
RM19.5,1
VB2124,0
以上两段循环扫描程序自己分析一下吧,结构都相同,基本上看懂第一段就完全明白了。
当然程序多变,自然是有更好的办法……就不多说了。
4.错误处理
LDSM0.5
EU
由于温度采集过程中偶尔通讯故障不会对系统有影响,所以当检测到通讯故障时直接复位出现故障的程序重新读取。
5.MBUS_MSG指令:
用于启动对Modbus从站的请求并处理应答。
Network6//网络标题
//网络注释
LDM17.1
CALLSBR4,L63.7,3,0,40129,1,&
VB2125,M17.0,VB2111
Network7//网络标题
LDM17.2
CALLSBR4,L63.7,4,0,40129,1,&
VB2135,M17.3,VB2112
Network8//网络标题
LDM17.4
CALLSBR4,L63.7,5,0,40129,1,&
VB2145,M17.5,VB2113
Network9//网络标题
LDM17.6
CALLSBR4,L63.7,6,0,40129,1,&
VB2155,M17.7,VB2114
Network10//网络标题
LDM18.0
CALLSBR4,L63.7,7,0,40129,1,&
VB2165,M18.1,VB2115
Network11//网络标题
LDM18.2
CALLSBR4,L63.7,8,0,40129,1,&
VB2175,M18.3,VB2116
Network12//网络标题
LDM18.4
CALLSBR4,L63.7,9,0,40129,1,&
VB2185,M18.5,VB2117
Network13//网络标题
LDM18.6
CALLSBR4,L63.7,3,1,40002,1,&
VB2195,M18.7,VB2118
Network14//网络标题
LDM20.0
CALLSBR4,L63.7,4,1,40002,1,&
VB2205,M20.1,VB2119
Network15//网络标题
LDM20.2
CALLSBR4,L63.7,5,1,40002,1,&
VB2215,M20.3,VB2120
Network16//网络标题
LDM20.4
CALLSBR4,L63.7,6,1,40002,1,&
VB2225,M20.5,VB2121
Network17//网络标题
LDM20.6
CALLSBR4,L63.7,7,1,40002,1,&
VB2235,M20.7,VB2122
Network18//网络标题
LDM19.2
CALLSBR4,L63.7,8,1,40002,1,&
VB2245,M19.3,VB2123
Network19//网络标题
LDM19.4
CALLSBR4,L63.7,9,1,40002,1,&
VB2255,M19.5,VB2124
我们分别对两段高亮显示的程序进行分析,首先分析绿色的
VB2185,M18.5,VB2117
9,0,40129,1中的9是9号温控器的,这里要提一下,modbus通讯和其他通讯一样从站必须有自己的站号,而且在总线上是唯一的。
0表示选择MBUS_MSG的读取功能。
40129
这就是要读取的地址了。
这也是很多朋友存在疑问的地方。
在神港的手册上,当前温度的地址是80H,是以十六进制表示的,转换为十进制为128。
那么40129是怎么出来的呢。
40129=40001+128(废话)为什么这样算,那你就要研究一下modbus协议的具体内容了,网上一大把自己去找吧。
对于应用来说你只需知道地址=手册地址+40001足以。
在来解释下1,西门子的手册中是这样解释的
"
计数"
参数指定在该请求中读取或写入的数据元素的数目。
值是位数(对于位数据类型)和字数(对于字数据类型)。
地址0xxxx?
是要读取或写入的位数。
地址1xxxx?
是要读取的位数。
地址3xxxx?
是要读取的输入寄存器的字数。
地址4xxxx?
是要读取或写入的保持寄存器的字数。
不难理解,我们的地址是4xxxx的格式,也就是说我们要读取的是保持寄存器中存储的当前温度的数据,那么我们只要知道温度数据的格式就知道该读一位还是两位。
神港温控器的温度是存储在一个字里面的,所以读取的位数选1。
那么读出来的数据放哪儿呢VW2185
其次分析下黄色部分
分析方法同上,只是地址和读写不同而已。
写入的数据放在VW2255。
以上的程序已经实现了modbus读写功能,你可以通过状态表监控看到设定和读取的温度值。
ModBus通讯的注意事项
接着我们来谈谈MODBUS通讯的注意事项。
1.硬件链接:
首先要保证硬件的链接没问题,西门子PLC的A+和B-对应的时3号和8号引脚。
根据RS-485的通讯结构可只,所有从站的A+接主站的A+,所有从站的B-接主站的B-。
如果现场干扰比较大就必须用屏蔽线,如果距离比较远就必须加终端电阻。
2.参数设置:
不管是与什么设备通讯,以下参数必须设置。
比特率
校验位
停止位
数据位
MODBUS格式:
RTU和ASCII
以上的参数必须与PLC保持一致,以下参数在总线上不能重复。
站地址
在我做过的一些MODBUS案例中,有些设备会有一个参数控制是否允许通过通讯改变数据,这个参数一定要设置为允许。
3.程序编写:
把上面的程序按网络考上去就可以了,当然以上程序意在教会大家做MODBUS通讯的方法具体实施还是要看具体问题的。