欢迎来到天天文库
浏览记录
ID:52338745
大小:469.96 KB
页数:2页
时间:2020-03-26
《JX-300XP和S7-300PLC的数据通讯.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第8期云苏和等.JX-300XP和S7-300PLC的数据通讯1023JX·300XP和S7—300PLC的数据通讯云苏和陈健刘彦芳王维刘杰(内蒙古神舟硅业有限责任公司,呼和浩特010070)摘要运用Modbus通讯协议实现J)c-300XI'系统和S7-300PLC之间的通讯,给出了通讯建立的程序代码度数据类型转换代码。在系统实际运行中,该方法建立的数据通讯正常运行,可推广运用到J)【-300XP与其它装置的Modbus通讯。关键词Modbuss7·300J)(.300xP通讯CP340数据转换中图分类号TP274文献标识码B文章编号1000-3932(2011)08—102
2、3-02随着化工生产规模的不断扩大,系统划分也向着单元化和分散化发展。不同生产装置单元所采用的自控系统也不尽相同,在不同控制系统之间建立通讯,可方便操作人员对相关技术参数和数值的监控。内蒙古神舟硅业有限责任公司空分制氮工序采用JX-300XP作为整个工艺的控制系统,负责监控两台透平压缩机的数据,这两台透平压缩机均采用s7—300PLC进行独立控制,两者相距15m。为满足生产需求,并保证通讯畅通,笔者选用Modbus通讯协议实现J)(.300XP与S7—300PLC之间的通讯。1Modbus协议简介Modbus是进行工业自动化控制常用的一种数据通讯协议,它具有数据传输速度快、传输
3、距离远及通讯可靠性高等优点。Modbus协议定义了能够识别的标准通讯方式控制器,它描述了控制器请求访问其它设备的过程,以及怎样侦测错误并记录,还制定了消息域格局和内容的公共格式和传输数据的通讯规则。每个控制器预设置所连接设备的地址,识别按地址发来的消息并发出相应的动作命令。如果需要回应,控制器将生成反馈信息并通过Modbus协议发出。在其它网络上,Modbus协议的消息可转换成在此网络上使用的帧或包结构,这种转换扩展了根据具体的网络解决节地址、路由路径和错误检测的方法。2组态设置目前支持Modbus通讯的DCS系统和过程仪表大都采用基于串行接口的ModbusRTU模式,西门子公
4、司提供了针对其产品PLcModbusRTU通讯的协议库和指令库,便于陕速实现相关应用。通过ModbusRTU从站指令库,使得s7—300PLc可以作为ModbusRTU中的从站设备集成到Mod-bus网络中,实现与Modbus主站设备的通讯。本装置中的S7-300PLC采用标准模块CP340进行通讯,将CP340卡件进行软件组态(图1)后下装驱动程序。图lcP340卡件的软件组态3JX召00XPJ)【一300XP系统使用Modbus通讯卡X17244,该系列串口通讯卡仅支持Modbus—RTU主机通讯模式。图2为XP244的组态及关键参数设置。日矗控制站田鞫l[2】sct白强『
5、墨圈雹圆日囱宜定义变量由囟i字节变量:由一囱缚节变量。田目a停节变量白囱目定义控制方案·瞎csc蜡言搞程】97-30嗵讯’瞎[囤形犏程】数据转化图2JX-300XP系统XP244组态收稿日期:201l-074)4(修改稿)1024化工自动化及仪表第38卷由图2可以看出,XP244卡是控制站中独立的控制设备。在建立通讯的过程中,笔者编写了两段程序:一段为运用SCX语言编制的JX-300XP与S7—300PLC的通讯程序,具体包括通讯方式的确定、参数设置及变量的定义等;另一段为运用图形语言编制的数据转换程序,将数据转换为用户要求的数据类型和所需的量程范围内的实际值。4JX-300X
6、P与$7-300PLC的通讯程序JX-300XP与ST-300PLC通讯的具体程序代码如下:intphase;main()intal[55],a2[55];//定义存储数据的数组intil,i2,j2,k2;//定义指针setcomm(9600,0);//设定通讯参数,无校验if(phase==0)//读第l台设备setdelayfime(450);//设定延时时间一TAG(”RETURNI”)=readholdingreg(2,10.22a1);//读取保持寄存器的值if(JHG(”RETURNI”)==0)//如果读取正确JAG(”5"7—1—1I”)[il]=al[il]
7、;//将模拟量读人自定义变量if(phase==1)//读第2台设备setdelaytime(450);一TAG(”RETURN2”)=tmadholdingreg(3.10.22Ⅱ(JAG(”RETURN2“)==0){for(i2=O;i2<22;i2=i2+1)_TAG(”s7-2—11”)[i2]=a2[i2]phase2phme+1;if(phase3);在两个设备问进行循环扫描.采集数据通过循环扫描,完成数据采集。将采集到的数据通过图形编程代码转换模块TEXT
此文档下载收益归作者所有