superme
个性签名编辑
级别: 略有小成
精华主题: 0
发帖数量: 67 个
工控威望: 394 点
下载积分: 10959 分
在线时间: 71(小时)
注册时间: 2018-12-29
最后登录: 2024-11-22
查看superme的 主题 / 回贴
楼主  发表于: 2022-10-04 15:17
1.西门子例:首先创建个INT变量 i,然后当BOOL使用i地址中的第9个位输入   i.x0   (实际显示为i.%x0)
FB中还可以使用   AT 指令创建i的BOOL变量来使用。
三菱例(:首先创建个字变量 i,然后当BOOL使用i地址中的第9个位输入   i.8
西门子片段访问官网例子(https://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/07-Program/03-instruction/03-Address/02-Slice.html

2.地址直接写入格式:(1)P#M2048.0 BYTE 2048。(2)P#DB14.DBX0.0 BOOL 16      // 直接写入M/DB区BYTE/BOOL类型的2048/16个地址

3.西门子数组整体移位不使用for循环;DataContainer为inout 变体
REGION init the result初始化
    #OK := FALSE;
    #State := 0;
END_REGION
REGION move the data container shift 数组移位
    #State := INT_TO_WORD(MOVE_BLK_VARIANT(SRC := #DataContainer, COUNT := CountOfElements(#DataContainer) - 1, SRC_INDEX := 0, DEST_INDEX := 1, DEST => #DataContainer));
END_REGION
REGION result ok
    #OK := TRUE;
    #State := 1;
END_REGION
[ 此帖被superme在2023-02-08 10:18重新编辑 ]