[西门子] 西门子SCL基础教学---PEEK

[复制链接]
查看92962 | 回复0 | 2024-3-11 19:16:38 | 显示全部楼层 |阅读模式
PEEK:该指令用于对PLC输入,输出,M寄存器及标准访问的DB块的读取访问。

其实我到了博途平台之后,已经习惯了符号访问了,对于绝对地址来说,是坚决抵制的,当然,代表我个人。

这个指令对于绝对地址的访问,是有便利性的,比如我之前做的“基于博途的IO监控状态生成”,确实很方便的访问了I和Q的地址。

那么今天就来说说,这个地址的具体用法。

PEEK,可以不带后缀,不带后缀的时候,默认是byte,也可以加上后缀,比如:PEEK_BOOL,PEEK_WORD

PEEK指令有几个参数:


    area:功能码。根据输入的参数,指定访问的地址区域。比如M区是16#83。16#84就是DB区

    dbNumber:DB块编号。此处仅在area=16#84的时候生效。其余时候填写0

    byteOffset:字节偏移。比如MB10,则此处填写10。

    bitOffset:位偏移。比如M0.7,则此处填写7。


这几个参数知道之后,写程序就简单了。

示例:



因为area是16#83,那么则代表访问的是M区。访问M区的时候,dnNumber填写0,byteoffset是10,表示MB10,bitoffset是7,则表示是第七个位。连起来就是读取M10.7的值,放入OUT_M_BIT中。

再比如:



因为area是16#84,表示访问的是DB区。那么此时dbNumber就需要写DB块编号,此处以1000为例。byteoffset是4,表示访问第四个字节开始的字,因为前面写的PEEK_WORD。连起来就是:读取DB1000.DBW4的值,放入OUT_DB_WORD里面。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则