目录
1、前序
2、配置从机1给主机发送数据
2.1 创建从机1的结构体
2.2创建从机1结构体的全局变量
2.3 添加从机1的Publisher
2.4 从机1变量关联
2.5 主机中配置接收从机1的Subscriber
3 配置从机2给主机发送数据
3.1创建从机2结构体
3.2 添加Slave2State全局变量
3.3 配置从机2发送给主机的的Publisher
3.4 关联从机2的Publisher变量
3.5 主机中配置接收从机1的Subscriber
4 测试
4.1 主机发送给从机
4.2 从机分别给主机发送
5、工程 下载
1、前序
从机给主机发送数据分为两种情况。第一种是从机设备硬件不同需要单独开发从机PLC程序,那么需要单独配置不同的变量发送给主机。第二种方式是所有的从机设备硬件相同、程序工程也相同,此时只需要将第一套开发好的从机程序复制给多个从机即可(程序工程的IO中Device1、Device2、Device3、Device4等设需要选择各自PLC的网卡)。不论哪种方式,在主机中都需要对每个从机设备发送过来的数据进行Subscriber配置。
本节介绍第一种方式,两个从机中不同程序工程配置,给主机发送数据。
2、配置从机1给主机发送数据从机给主机发送方法和主机给从机发送方法差不多,需要注意的是从机只能给主机发送,因此需要设置主机AMS NetID地址。
还是以从机1工程举例。
2.1 创建从机1的结构体将从机设备需要发送给主机的变量创建在结构体SlaveState中(结构体中BOO型变量最好是8的整数倍,其它数据类型变量数量为偶数个)
TYPE SlaveState : STRUCT bState1: BOOL; bState2: BOOL; bState3: BOOL; bState4: BOOL; bState5: BOOL; bState6: BOOL; bState7: BOOL; bState8: BOOL; nData1: INT; nData2: INT; nData3: INT; nData4: INT; fData1: LREAL; fData2: LREAL; fData3: LREAL; fData4: LREAL; END_STRUCT END_TYPE
然后“convert to Global Data Type”
2.2创建从机1结构体的全局变量_SlaveState AT%Q*: SlaveState; //从机输出结构体变量
PLC程序工程重新编译生成。
2.3 添加从机1的Publisher在Device1中添加新项,选择Publish生成Box2。然后在Box2中添加Pub-Var1
设置Publish发送的指定控制器AMS NetID地址
2.4 从机1变量关联关联从机Pub-Var1和结构体全局变量_SlaveState。
激活从机工程。
2.5 主机中配置接收从机1的Subscriber在Device2 中添加新项,选择Subscriber
在Subscribe中添加新项,选择从机1控制器的Pub-Var1
在全局变量中定义从机1的 结构体全局变量_SlaveState1
_SlaveState1 AT%I*: SlaveState; //从机1输出结构体变量
重新编译生成主机PLC程序工程,然后IO变量关联
激活主机PLC工程程序
监视主机和从机1
同理,配置从机2给主机发送
3 配置从机2给主机发送数据方法同从机1配置方式相同,为了方便区分从机设备,从机2结构体名定义为SlaveState2,结构体中变量直接从从机1中复制(为了方便直接复制从机1结构体变量,实际中可以定义不一样的变量)。
3.1创建从机2结构体将从机设备需要发送给主机的变量创建在结构体SlaveState2中
TYPE Slave2State : STRUCT bState1 : BOOL; bState2 : BOOL; bState3 : BOOL; bState4 : BOOL; bState5 : BOOL; bState6 : BOOL; bState7 : BOOL; bState8 : BOOL; nData1 : INT; nData2 : INT; nData3 : INT; nData4 : INT; fData1 : LREAL; fData2 : LREAL; fData3 : LREAL; fData4 : LREAL; END_STRUCT END_TYPE
然后“convert to Global Data Type”
3.2 添加Slave2State全局变量添加Slave2State全局变量,并且重新编译生成从机2得PLC程序工程
_Slave2State AT%Q*: Slave2State; //从机2输出结构体变量3.3 配置从机2发送给主机的的Publisher
Device1中添加新项选择Publish,然后添加变量
设置publish 主机的AMS NetID,仅针对主机发送
3.4 关联从机2的Publisher变量激活从机2工程。
3.5 主机中配置接收从机1的Subscriber在Device2 中添加新项,选择Subscriber
在Subscribe中添加新项,选择从机2控制器的Pub-Var1
在全局变量中定义从机2的 结构体全局变量_SlaveState2,并且重新编译和生成主机PLC程序工程
_SlaveState2 AT%I*: Slave2State; //从机2输出结构体变量
IO变量关联
激活主机PLC工程程序
4 测试 4.1 主机发送给从机主机写入后
4.2 从机分别给主机发送从机1给主机发送
从机2给主机发送
5、工程 下载程序工程连接:TwinCAT3EAP通讯测试.rar-制造文档类资源-CSDN下载
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)