S71200CPU通过ETHERNET与FX5UCPU通信地方式Word格式文档下载.docx
《S71200CPU通过ETHERNET与FX5UCPU通信地方式Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《S71200CPU通过ETHERNET与FX5UCPU通信地方式Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
软件:
西门子编程软件STEP7ProfessionalV14
三菱编程软件GXWORK3
以太网调试工具TCP&
UDPDebug
所完成的通信任务:
IQFCPU主动建立连接,将三菱PLC地址D300开始的8个字节地址的数据发送到西门子1215CCPU的接收数据区DB2块中。
判定通讯连接建立成功之后,将西门子1215CCPU的发送数据区DB7块中的数据发送到三菱PLC地址D500开始的8个字节地址的数据,首地址存储字节长度,之后8位地址顺序存储DB7当中的数据。
STEP7ProfessionalV14的通信编程,连接参数与通信参数的配置
1.打开STEP7v11软件并新建项目在STEP7v14的“项目视图〞中选择“创建新项目〞创建一个新项目
2.添加硬件并命名PLC然后进入“项目视图〞,在“项目树〞下双击“添加新设备〞,在对话框中选择所使用的S7-1200CPU添加到机架上,命名为〔S7_1215C_AND_IQF_contest〕,如图1.所示。
图1:
添加新设备
为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:
在“项目树〞>
“S7_1215C_AND_IQF_contest〞>
“设备组态〞中,选中CPU,然后在下面的属性窗口中,“设备属性〞>
“系统内存和时钟〞下,将系统位定义在MB1,时钟位定义在MB0,如图2.所示。
时钟位我们主要使用M0.5,它是以1Hz的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。
图2,系统和时钟存储器图
3.为PROFINET通信口分配以太网地址在“设备属性视图〞中点击CPU上代表PROFINET接口,在下方会出现PROFINET接口的属性,在“以太网地址〞下分配IP地址为192.168.3.3,子网掩码为255.255.255.0,并且在接口连接到处添加新子网。
如图3.所示。
图3:
分配IP地址
在PLC_1215C中调用并配置“TRCV_C〞、“TSEND〞通信指令
1、在PLC_1的OB1中调用接收指令TRCV_C并配置根本参数
为了实现PLC_1215C接收来自PLC_IQF的数据,如此在PLC_1215C中调用接收指令
TRCV_C并配置根本参数。
1创建并定义PLC_1的接收数据区DB块。
通过“项目树〞>
“PLC_1215C〞>
“程序块〞>
“添加新块〞,选择“Datablock〞创建DB块,点击“OK〞键,定义发送数据区为8个字节的数组,如图5.与图6.与图7所示。
图5.创建接收数据区DB2块
图6.定义DB2数据类型与数据长度
注意:
必须与三菱IQ_F所发送的数据类型,长度都需要一致
图7.DB2属性定义图注意:
必须将途中优化访问块的勾去掉。
2 调用“TRCV〞在FC1内调用
首先添加一个函数块FC1
进入“项目树〞>
“PLC_1215C〞>
“程序块〞>
“FC1〞主程序中,从右侧窗口“指令〞>
“通信〞>
“开放式通信指令〞下调用“TRCV_C〞指令,配置接口参数,,如图8.所示。
左侧为西门子1215C的参数设置,其IP地址设置为192.168.3.3,类型为TCP协议,模块ID号设置为1,连接数据存储在PLC_1_Receive_DB块里面,端口号设置为4097。
右侧为三菱IQF的参数设置,其IP地址设置为192.168.3.250,并且由三菱IQF为客户端主动建立通讯连接,端口号设置为4096.
参数说明:
输入接口参数:
EN_R=Tag_5(%M700.4)
:
=TURE
//准备好接收数据
CONT=Tag_1(%M700.0)
=TURE
//准备好接收数据
CONNECT
=%DB3*PLC_1215CReceive_DB
//系统数据块
DATA
=P#DB2.DBX0.0BYTE8
//接收数据区的地址
输出接口参数:
DONE
=Tag_2(%M700.1)
//该位为1,接收任务成功完成
BUSY
=Tag_3(%M700.2)
//该位为1,代表任务未完成,不能激活新任务
ERROR
=Tag_4(%M700.2)
//通信过程中有错误发生,该位置1
STATUS
=Tag_20(%MW705)
//有错误发生时,会显示错误信息号
RCVD_LEN
=Tag_21(%MW707)
//实际接收数据的字节数
INC指令记录数据块所接收数据的次数
MOVE指令记录数据块所实际接收的数据字节数
2、在PLC_1的OB1中调用接收指令TRCV_C并配置根本参数
为了实现PLC_IQF接收来自PLC_1215C的数据,如此在PLC_1215C中调用发送指令
Tsend并配置根本参数。
“添加新块〞,选择“Datablock〞创建DB块,点击“OK〞键,定义发送数据区为8个字节的数组,如图10.与图11.与图12所示。
图10.创建发送数据区DB7块
图11.定义DB7数据类型与数据长度
必须与三菱IQ_F所接收的数据类型,长度都需要一致
图12.DB7属性定义图注意:
必须将途中优化访问块的勾去掉
2 调用“TSEND〞在FC1内调用
“开放式通信指令〞下调用“TSEND〞指令,配置接口参数,,如图13.所示。
REQ=Tag_11(%M701.3)
=TURE发送脉冲为1HZ
//准备好发送数据
ID
=1
//通讯连接模块的ID号,对应TRCV_C指令
=P#DB7.DBX0.0BYTE8
//发送数据区的地址
INC指令记录数据块所发送数据的次数
3、在功能块里面调用FC1函数块如如下图所示:
1、打开GX_WorK3,创建一个新的5UPLC的工程,命名为Soket_Active11,选择参数,FX5UCPU,模块参数,以太网参数,选择对象连接配置设置,添加一个Active客户端。
完成相应的IP地址设置和端口号设置,如如下图所示
其程序结构图如如下图所示
通过接通M1000的上升沿脉冲触发SP.SOCOPEN指令打开通讯连接,M1002标志显示通讯连接正常打开,M1003标志通讯连接异常打开。
此段程序是将D301开始的8个字节的数据,发送到西门子DB2数据块当中去,通过M3000的上升沿脉冲
此段程序是接收西门子1215C发送的DB7数据块当中的数据数据长度为8个字节,存储到D500开始的数据存放器当中,可通过M0的上升沿脉冲来接通。
某某晋彦海通自控工程某某
技术部:
夏日高
2017年8月23日