Modbus与第三方系统通讯
时间:2015-04-17 阅读:1074
布景:
如今做锅炉节能操控,都是在原有的操控体系上加上西门子的操控器,把算法写在西门子操控器中,经过通讯的方法读取第三方体系的数据运算后把操控指令再发回去。由于第三方体系运用的体系不一样,当前对比多的如ABB,施耐德,GE,上海新华,和利时,浙大中控等,为了完成和这些体系做的操控体系,就要有一个对比合理的通讯方法,当前选用的是opc方法通讯。
当前选用的通讯方法:
当前选用opc方法,锅炉也是选用母管制的,所以要同时把全部母管中衔接的锅炉的数据都收集过来才好,这样数据两对比大,在很多数据交换的情况下,速度对比好。咱们如今在向大型锅炉操控上转型,大型锅炉都是一炉一机的,对于咱们的如今的需求不太适宜,咱们的特色是需求交换的数据量小zui多两三百点,可是需求速度快。咱们当前的通讯方法是用pc和第三方体系通讯然后pc和PLC通讯,pc顶用wincc把读取到的数据转写到plc的变量中,wincc中假如脚本执行的速度过快,则影响到wincc的别的的功用,所以当前zui快也即是1s的周期。
当前的技能需求:
而对于一炉一机这种数据量小,需求速度快的通讯特色,modbus通讯方法更适宜,modbus是对比早的通讯协议,大多数的智能外表都支撑,操控体系也都支撑,所以不存在无法通讯的难点。为了完成这个通讯,我于2014年的年底在江苏阜宁澳洋热电厂做了测验。
项目硬件需求:
江苏阜宁澳洋热电厂选用的是和利时的DCS操控体系,由于咱们的操控思路是在原有操控体系基础上做的程序,所以硬件中不包括io模块选用西门子ps407,400操控器以及cp441通讯模块。网上收购232通讯接头,自制232通讯线。
硬件组态:
硬件组态很简单,只需依照阐明材料一步步操作就可以了,这儿没有啥好说的。
遇到的疑问:
1、接线。
依照这个接线图衔接后无法通讯,后来我考虑到modbus的通讯需求通知对方是不是预备还收发数据以及是不是收发完毕,所以应该状况也发给对刚才行,所以把上面的接线图改成:
完成了硬件衔接,可以通讯了。
2、通讯格局设置:
我们都晓得西门子的数据存储格局和别的的公司有点不一样,西门子是低字高位,别的公司大多数都是选用的高字高位,假如只是传输字节的话,两者是没有差异的,假如用modbus传输32位的数据就需求留意这个疑问了,由于modbus只是原封不动的把药传输的32位地址的数据传过去,详细这些位中式啥它不论的,所以假如没有留意到这个高低位的疑问,很有也许你都不晓得传过去的是啥。对方可以完成换位功用,则只需选用4321的数据格局就行了,不然就要咱们手动把需求传输的数据在传输前或许接纳后进行换位操作。运用没有留意这个疑问,通讯后的数据全变了,后来换位后正常了。
3、处理:
在实践测验运用过程中处理了前面说的疑问后,又遇到了新的疑问。实数,整数都能准确通讯,只需bool量无法通讯,只需添加bool量,则第三方体系报错,通讯中止,咨询技能服务人员也没有解决疑问,后来我想已然整数可以准确处理,那么我就把bool量打包成字节按整数传输,这样还省了需求传输的变量数,只是两边都需求编程,发送bool量方打包数据把8个bool量转换成一个字节的整数,接纳方再把这个整数分解成8个bool量。
经过以上的处理,总算完成的西门子400操控器经过modbus与和利时dcs体系的通讯。