1、S71200 CPU通过ETHERNET 与FX5UCPU 通信的方式S7-1200 CPU通过ETHERNET 与FX5UCPU 通信的方式S7-1200 与 FX5UCPU 之间的以太网通信可以通过 TCP 或 ISO on TCP 协议来实现。CPU1215C 使用的通信指令是在双方 CPU 调用 T-block (TSEND_C, TRCV_C, TCON, TDISCON, TSEND, TRCV) 指令来实现。通信方式为双边通信,因此 TSEND 和 TRCV 必须成对出现。FX5UCPU使用添加socket通信采用TCP通讯格式进行通信,设置号IP地址与端口号,通过添加Activ
2、e和Unpassive,通过通讯指令SP.SOCOPEN/ SP.SOCRCV/ SP.SOCSND指令来是实现双方数据的交换。硬件和软件需求及所完成的通信任务硬件配置: S7-1200 CPU PC (带以太网卡) TP电缆(以太网电缆)3根 工业交换机1个 FX5U-64MR/ES CPU 开关电源AC220V转24V软件: 西门子编程软件 STEP 7 Professional V14 三菱编程软件 GX WORK3 以太网调试工具 TCP&UDPDebug所完成的通信任务:IQFCPU主动建立连接,将三菱PLC地址D300开始的8个字节地址的数据发送到 西门子1215CCPU的接收数据
3、区 DB2 块中。判定通讯连接建立成功之后,将西门子1215CCPU的发送数据区 DB7 块中的数据发送到三菱PLC地址D500开始的8个字节地址的数据,首地址存储字节长度,之后8位地址顺序存储DB7当中的数据。STEP 7 Professional V14的通信编程,连接参数及通信参数的配置1.打开 STEP7 v11 软件并新建项目在 STEP7 v14的 “项目视图” 中选择 “创建新项目” 创建一个新项目2.添加硬件并命名PLC然后进入 “项目视图”,在“项目树” 下双击 “添加新设备”,在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为 (S7_1215C_AND_IQ
4、F_contest),如图1.所示。图1:添加新设备为了编程方便,使用 CPU 属性中定义的时钟位,定义方法如下:在 “项目树” “S7_1215C_AND_IQF_contest” “设备组态” 中,选中 CPU ,然后在下面的属性窗口中,“设备属性” “系统内存和时钟” 下,将系统位定义在MB1,时钟位定义在MB0,如图2.所示。时钟位我们主要使用 M0.5,它是以1Hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。图2,系统和时钟存储器图3.为 PROFINET 通信口分配以太网地址在 “设备属性视图”中点击 CPU 上代表PROFINET接口 ,在下方会出现PROFI
5、NET 接口的属性,在 “以太网地址” 下分配IP 地址为 192.168.3.3 ,子网掩码为255.255.255.0,并且在接口连接到处添加新子网。如图3. 所示。图3 :分配IP地址在 PLC_1215C 中调用并配置 “TRCV” 、“TSEND”通信指令1、在 PLC_1 的OB1中调用接收指令并配置基本参数为了实现 PLC_1215C 接收来自 PLC_IQF 的数据,则在 PLC_1215C 中调用接收指令TRCV并配置基本参数。1创建并定义PLC_1的接收数据区 DB 块。通过“项目树”“PLC_1215C”“程序块”“添加新块”,选择“Data block” 创建 DB 块
6、,点击“OK”键,定义发送数据区为8个字节的数组,如图5.及图6.及图7所示。图5. 创建接收数据区 DB2 块图6.定义DB2 数据类型及数据长度注意:必须与三菱IQ_F所发送的数据类型,长度都需要一致图7.DB2属性定义图 注意:必须将途中优化访问块的勾去掉。2调用 “TRCV” 在1内调用首先添加一个函数块进入 “项目树” “ PLC_1215C” “程序块” “1” 主程序中,从右侧窗口 “指令” “通信” “开放式通信指令”下调用 “TRCV” 指令,配置接口参数,如图.所示。图8.TRCV_C连接参数设置注意:左侧为西门子1215C的链接参数设置,其IP地址设置为192.168.3
7、.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_1215C Receive_DB/ 系统数据块DATA:= P#DB2.DBX0.0 BYTE 8/ 接收数据区的地址输出接口参数:D
8、ONE:= Tag_2(%M700.1)/ 该位为 1,接收任务成功完成BUSY:= Tag_3(%M700.2)/ 该位为 1,代表任务未完成,不能激活新任务ERROR:= Tag_4(%M700.2)/ 通信过程中有错误发生,该位置 1STATUS:= Tag_20(%MW705)/ 有错误发生时,会显示错误信息号RCVD_LEN:= Tag_21(%MW707)/ 实际接收数据的字节数INC指令记录数据块所接收数据的次数MOVE指令记录数据块所实际接收的数据字节数2、在 PLC_1 的OB1中调用接收指令并配置基本参数为了实现 PLC_IQF 接收来自 PLC_1215C的数据,则在 P
9、LC_1215C 中调用发送指令Tsend并配置基本参数。1创建并定义PLC_1的接收数据区 DB 块。通过“项目树”“PLC_1215C”“程序块”“添加新块”,选择“Data block” 创建 DB 块,点击“OK”键,定义发送数据区为8个字节的数组,如图10.及图11.及图12所示。图10. 创建发送数据区 DB 7块图11.定义DB7 数据类型及数据长度注意:必须与三菱IQ_F所接收的数据类型,长度都需要一致图12.DB7属性定义图 注意:必须将途中优化访问块的勾去掉2调用 “TSEND” 在1内调用进入 “项目树” “ PLC_1215C” “程序块” “1” 主程序中,从右侧窗口
10、 “指令” “通信” “开放式通信指令”下调用 “TSEND” 指令,配置接口参数,如图13.所示。参数说明:输入接口参数:REQ=Tag_11(%M701.3):= TURE 发送脉冲为1HZ/ 准备好发送数据ID:= 1/ 通讯连接模块的ID号,对应TRCV_C指令DATA:= P#DB7.DBX0.0 BYTE 8/ 发送数据区的地址输出接口参数:DONE:= Tag_2(%M700.1)/ 该位为 1,接收任务成功完成BUSY:= Tag_3(%M700.2)/ 该位为 1,代表任务未完成,不能激活新任务ERROR:= Tag_4(%M700.2)/ 通信过程中有错误发生,该位置 1S
11、TATUS:= Tag_20(%MW705)/ 有错误发生时,会显示错误信息号RCVD_LEN:= Tag_21(%MW707)/ 实际接收数据的字节数INC指令记录数据块所发送数据的次数3、在功能块里面调用FC1函数块 如下图所示:S7-1200 CPU通过ETHERNET 与FX5UCPU 通信的方式FX5UCPU使用添加socket通信采用TCP通讯格式进行通信,设置号IP地址与端口号,通过添加Active和Unpassive,通过通讯指令SP.SOCOPEN/ SP.SOCRCV/ SP.SOCSND指令来是实现双方数据的交换。1、打开GX_WorK3, 创建一个新的5UPLC的工程,
12、命名为Soket_Active11,选择参数,FX5UCPU,模块参数,以太网参数,选择对象连接配置设置,添加一个Active客户端。完成相应的IP地址设置和端口号设置,如下图所示其程序结构图如下图所示通过接通M1000的上升沿脉冲触发SP.SOCOPEN指令打开通讯连接,M1002标志显示通讯连接正常打开,M1003标志通讯连接异常打开。此段程序是将D301开始的8个字节的数据,发送到西门子DB2数据块当中去,通过M3000 的上升沿脉冲此段程序是接收西门子1215C发送的DB7数据块当中的数据数据长度为8个字节,存储到D500开始的数据寄存器当中,可通过M0 的上升沿脉冲来接通。 湖南晋彦海通自控工程有限公司 技术部:夏日高 2017年8月23日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1