西门子PCS7系统中使用CP341实现MODBUS-RTU主站通讯的方法
西门子pcs7系统中使用cp341实现modbus-rtu主站通讯的方法
1:西门子pcs7系统的硬件配置环境,以工程实例介绍
1)plc为cpu414-5h冗余plc,cp341(使用im153-2),cp341主站硬件狗dongle(6es7870-1aa0-0ya0)
2)cp341可以扩展多个,目前较多用到10个cp341,但需要注意将cpu属性中的cycle/clockmemory中过程映像区的size由768改为较大,如1024
2:西门子pcs7系统的软件配置环境
1)pcs7v8.1西门子pcs7编程组态软件
2)cpptpparamv5.1sp14串行通讯模块驱动程序
3)cpptpmodbusmasterv3.1sp7cp341的modbus主站驱动协议,必须在安装cpptpparamv5.1sp14之后再安装此驱动程序
3:cp341硬件组态
1)双击打开cp341属性对话框,点击parameters按钮,然后选择modbusmaster;
2)双击protocol,设置modbus通讯的波特率,停止位和奇偶校验位,如图:参数设置为:9600,8-n-1,各个从站必须与此处保持一致;
3)设置电气接口,选择为半双工2线rs485,各个从站的电气接口标准必须与主站一致;
4)配置完成后保存,并装载,装载时冗余cpu必须都设置为stop模式.
4:软件编程
1)首先需要手动建立发送和接收数据块db,打开组件视图,在blocks中进行建立,比如发送数据块定义为db51,并定义符号名为:source_db(此符号名必须定义),打开数据块后定义modbus功能码的数据格式,如图中:address从站地址为1,code功能码为3(读取保持寄存器区如40001/400001),reg_startadr寄存器起始地址为0,reg_count读取25个寄存器数据,可按照此顺序定义多个不同从站地址,不同功能码,不同寄存器。
2)定义接收数据块db52,符号名为:destination_db,用于存放来自从站的不同数据,从站寄存器地址在从站编程时较好将需要与主站通讯的数据规划到连续的寄存器区域,且数据类型较好保持一致,如果地址不连续,或者数据类型不同,那么在此处需要手动建立多个接收地址,如图中receive1定义为数组,包含25个实数类型,而对于地址不连续且数据类型不同的寄存器必须手动建立。
3)区别于step7中的梯形图编程,pcs7中使用cfc进行编程,在工厂视图中,“deviceinformation”中建立cfc通讯程序comm,此cfc程序中在ob33使用循环方式轮训各个读取功能块,当数字为1时,执行cfc图2中的**个程序块,为2时,执行图2中的*二个程序块,依次类推。
上海颢勇自动化设备有限公司专注于江苏省西门子et-200代理商,山东西门子代理商,浙江西门子代理商等