ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

四. SCL 使用peek poke 来做IO映射

四. SCL 使用peek poke 来做IO映射 一. peek_bool 读取存储位。将I1.2写入到“Tag_1”.Tag_1 : PEEK_BOOL(area : 16#81, // 16#81:输入I, 16#82:输出Q, 16#83:位存储区M, 16#84:DB dbNumber : 0, // DB块编号IQM写0 byteOffset : 1, // 待读取的字 bitOffset : 2); // 待读取的位字和位合起来就是I1.2二. 将将I0.0-----I1.5连续的14个地址映射到PLC的内部地址1. 参考上一个例子2. 程序// byteOffset: DINT. // bitOffset: int. FOR #i : 0 TO 13 DO DATA.I_MAP.Value[#i] : PEEK_BOOL(area : 16#81, dbNumber : 0, byteOffset : #i / 8, bitOffset : DINT_TO_INT(#i) MOD 8); END_FOR;三. 将 i8.7 开始的连续20个地址写入PLC内部地址// 将 i8.7 开始的连续20个地址写入PLC内部地址 // 第一次i0,则读取i8.7 // 第二次i1,则读取i9.0 FOR #i : 0 TO 19 DO DATA.I_MAP.Value[#i] : PEEK_BOOL(area : 16#81, dbNumber : 0, byteOffset :8 (#i7)/8, bitOffset : (DINT_TO_INT(#i)7) MOD 8); END_FOR;
返回列表