最近在测试一个EtherCAT IO模块,
参考视频Ethercat总线快速入门教程——1-2TwinCAT基本操作_哔哩哔哩_bilibili
我手里是欧辰的一个模块,它的输入输出都是字节形式的
因此小改了下PLC程序
1. 在DUTs中新建了一个结构体和联合体
结构体内容
TYPE Bits8 : STRUCTbBit1 : BIT;bBit2 : BIT;bBit3 : BIT;bBit4 : BIT;bBit5 : BIT;bBit6 : BIT;bBit7 : BIT;bBit8 : BIT; END_STRUCT END_TYPE
联合体内容
TYPE Bits8Union : UNIONDataByte AT %Q* : BYTE; DataBits : Bits8 ; END_UNION END_TYPE
主程序内容
PROGRAM MAIN VARinput1 AT %I*:BYTE;timer:TON;output1 : Bits8Union;state: INT := 0;END_VAR//----------------------------------------- CASE state OF0: // 输出为1,持续1500msoutput1.DataBits.bBit2 := TRUE;timer(IN := TRUE, PT := T#1500MS);IF timer.Q THENstate := 1;timer(IN := FALSE);END_IF;1: // 输出为0,持续500msoutput1.DataBits.bBit2 := FALSE;timer(IN := TRUE, PT := T#500MS);IF timer.Q THENstate := 0;timer(IN := FALSE);END_IF; END_CASE
编译后再次link就可以啦