SIMATICNET前十个常见问题1)配置两个S7-300PLCPROFIBUS通讯1――FDL通讯FDL(现场数据连接)Profibus通讯方式,是一种非常方便的PLC-PLC之间的数据通讯方式,通讯量为最大240字节(而在broadcast、multicast方式中,最大236个字节)。一般有两种作法:1)在同一项目中的作法,在下面作一些硬件组态及编程的介绍:a)首先硬件组态,在硬件中插入CP342-5或CP343-5在S7-300机架或CP443-5在S7-400机架上,组态Profibus地址、传输速率及Profile选“standard”,同样在另一个S7站在组态通讯模块选择同一个Profibus,并组态站号,并存盘。b)在硬件组态画面中选菜单“Options”Configurenetwork进入“connection”画面中,单击某一站的CPU,在底下会出现一列表格,双击第一栏,出现一个“InsertNewConnection”画面。首先选择你所要进行通讯的站,在“ConnectionType”中选择“FDL”通讯,激活“Displaypropertiesdialog”,单击“Apply”后进入“FDLConnection”属性画面。在这里,主要记住在“General”中“Blockparameters”ID=?及LADDR=?,退出编译,存盘,并单击某一个站,下载到CPU中。同样,如果是多个站进行通讯,必须在所通讯的站之间建立不同的FDL连接,两个通讯站中只在一个站中建立连接就行。c)编程。通过调用FC5(AG_SEND)、FC6(AG_RECV)建立通讯接口区。Call“AG_SEND”(最好在OB35中调用,如果在OB1中调用,连接诊断中会出现对方站没有资源了,因为发送太快)ACT:=TRUE(发送)ID:=?(看FDL属性中“Blockparameter”中ID及LADDR)LADDR=W#16#?SEND=P#M10.0Byte10(发送区,以MB10以后10个字节)LEN=10(发送长度10字节)DONE=M2.1(是否发送)ERROR=M2.2(故障位)STATUS=MW4(包含一些通讯状态)Call“AG_RECV”ID=?(同上)LADDR=?RECV=P#M20.0Byte10(接收区)NDR=M6.1(新数据是否收到)ERROR=M6.2STATUS=MW8LEN=MW0(接收长度)2――DP通讯:例如,一个S7-300的从站,一个是S7-300或S7-400的主站:1、先组态从站,建立一个S7-300的站,在“Hardware”中,插入一个CPU316-2DP。2、双击DP-Master,在“operatingmode”中选择DPslave。见图1图1在configuration中选择MS方式,定义从站的接口区。(如,在S7-300侧,以Q20、I20各4个字节作为接口区,如果是3个byte或者大于4个byte时,要调用SFC14、SFC15,最大240个字节,但是要占用本站的I/Q区)“I/Q”选Q,“Address”选20,“length”选4,“unit”选“byte”,“consistency”选“unit”,同样的方法选择“I”区。见图2和图3:图2图3编译存盘。3、在Step7中建立一个S7-400站作为主站,先点击“Profibus(1):DPmastersystem(1)”一下,点黑,在右边硬件中选择“ProfibusDP”中“configuredstations”的CPU31x-2DP。见图4:图44、双击从站,在“connection”中选择已组态的从站,按“connect”进行连接。5、在“configuration”选项中,组态S7-400侧接口区(从站Q主站I,从站I主站Q)。见图5:图56、编译存盘。这样双方就可以通讯了(注意,如果每个区的通讯大于4个字节,分别在主站、从侧调用SFC14、SFC15)。2)怎样编写SFC14,SFC15S7-300/400集成DP口通讯地址对应CPUI/Q区通讯大于4字节,需要调用SFC14(DPRD_DAT)SFC15(DPWR_DAT)解包,地址空间参见CPU的地址空间程序:读地址为256开始的数据,存放于MB20以后12个字节写MB40以后的12个字节到以256开始的数据中3)怎样编写FC1,FC2(CP342-5)1,配置CP342-5作为一个DPMASTER2.从站地址只是一个映射而不占用I/Q区。映射区需要调用FC1,FC2访问发送MB20以后两个字节到映射输出地址0~1接收映射区地址0~1到MB40以后2个字节4)怎样访问EM277的数据1,配置EM277,并设定通讯长度为32字节输入32字节输出2,设定S7-200的地址偏移量为100通讯接口区为S7-300S7-200IB0~31---------VB132~163QB0~31----------VB100~131如果CP342-5作为主站调用FC1,FC2长度为32个字节。5)怎样通过PROFIBUS访问变频器的数据(以MM440为例)USS与PROFIBUS的通讯方式都是对变频器的PKW区和PZD区的数据进行访问用集成的DP口或CP443-5作为主站,PKW和PZD直接对应I/Q区,然后调用SFC14,SFC15解包到DB块中,如用CP342-5,调用FC1,FC2到DB块中。对PKW区数据的访问是同步通讯,即发一条信息,得到返回值后才能发第二条信息。PKW一般为4个字。1,读写0002~1999的参数。如读P0700,700=2BC(HEX)PLCPKW输出=12BC,0000,0000,00001为读请求PLCPKW输入=12BC,0000,0002,0000返回1为单字长,值为0002如读P1082,1082=43A(HEX)PLCPKW输出=143A,0000,0000,00001为读请求PLCPKW输入=243A,0000,4248,0000返回2为双字长。值为42480000(HEX)=50.0(REAL)如写P1082,1082=43A(HEX)PLCPKW输出=343A,0000,41F0,00003为写双字请求41F00000(HEX)=30.0(REAL)PLCPKW输入=243A,0000,41F0,0000返回2为双字长,确认修改完毕。2,读写2000~3999的参数。如读P2010,10=A(HEX)PLCPKW输出=100A,8001,0000,00001为读请求8为参数2000~39991为数组中第一个参数。PLCPKW输入=100A,8001,0006,0000返回1为单字长。值为6(HEX)PZD参数为异步读写。如是双字,可进行直接读写操作而不用在调用SFC14,SFC15。PLC输出,第一个字为控制字,第二个字为主设定值。PLC输入,第一个字为状态字,第二个字为运行反馈值。6)PROFIBUS接地。PROFIBUS应多端接地,并在每一端作减少环流措施。7)设置PG/PC接口PROFIBUS-DP网卡作主站,访问点为CP_L2_1---网卡S7通讯或作为编程器时,访问点为S7ONLINE---网卡8/9)连接INTOUCH和IFIXSIMATICNET3.3设置COML.S7生成*.LDB文件,加于PG/PC接口S7SAPI中SIAMTICNET6.0配置PCSTATION.可参考1010)怎样使用SIMATICNETV6.0怎样用WINCC通过PROFIBUS-DP协议连接EM277SIMATICNETV6.01:先从网上下载EM277的GSD文件(siem089d.gsd),集成于STEP7中,2:配置网卡,在项目中插入一个PCSTATION,象配置S7-300一样在第一行插入APPLICATION,在第四行插入CP5611(此处以CP5611作为DP-MASTER),在PROFIBUS网上添加EM277,配置通讯接口区。以S7-200中V1200以后16个字输入16个字输出,PROFIBUS地址为4为例。VW1200~1230作为S7-200的输入区,VW1232~1262作为S7-200的输出区。插入PCSTATION命名为EM277配置CP5611作为DP-MASTER配置16个字输入16个字输出配置EM277的地址偏移量为1200。3:编译存盘后,配置虚拟PCSTATION.于实际配置一样在第一行添加APPLICATION进入虚拟PCSTATION画面第一行添加APPLICATIONINDEX表示行数NAME任意。进入配置网卡界面选择CP5611的模式为CONFIGUREDMODEINDEX为4(行数)配置完后推出。进入STATIONNAME为EM277于配置一样。在控制面板中设置PG/PCINTERFACE为S7ONLINE指向PCINTERNALCP_L2_1指向CP5611(PROFIBUS)4:下载PC配置信息到虚拟PC站中5:确认配置无误6:打开WINCC建立PROFIBUS-DP通道。7:添加DP连接,以4号从战为例。8:配置系统参数9:建立变量输出偏移量为0对应S7-200VW1200.同样输入偏移量为0对应S7-200VW1232SIMATICNETV6.0的S7协议通讯(非WINCC)1在PROJECT下加入PCSTATION,进入网络配置如用OPC通讯可把APPLICATION换成OPC2建立一个S7CONNECTION对方为UNSPECIFIED站,配置对方的站号,机架号,槽号。3,参考与上篇的3,4,5注意配置的PC站名与虚拟的PC站名要相同。4,在INTOUCH和IFIX建立连接。PC站号和VFD名参考S7CONNECTION的参数。如用WINCC,只需安装好网卡即可。网卡在PG/PC中出现在WINCC建立S7SUITPROTOCOL驱动,以PROFIBUS为例建立一个连接在属性中填写通讯方的站号和槽号。在系统参数中设置通讯用的网卡即可