zhou1211
级别: 略有小成
精华主题: 1 篇
发帖数量: 203 个
工控威望: 359 点
下载积分: 1165 分
在线时间: 64(小时)
注册时间: 2013-11-04
最后登录: 2024-04-12
查看zhou1211的 主题 / 回贴
楼主  发表于: 2021-01-17 15:34
1:
那比如说做通讯的时候,考虑到对方读取具体地址,如:
stAdsCom  at %mw1000 : ST_ADS;
在博途中如何实现

2: 一般codesys无视对象类型是这样的
VAR
    pAdr  : pvoid;(目标变量初始指针)
    pByte : pointer to byte;(指针指向byte数据类型,相当于 ref to)
    wWordBase : word;

END_VAR
//程序
pAdr := adr(wWordBase );
pByte := pAdr;
pByte^ := 16#fe;
pByte := pAdr +1;
pByte^ := 16# ff;
//结果是地址指向Word类型的wWordBase 用byte通过指针偏移一次组合而成
这种情况常用于将数据分解成原始byte,再组合成自定义类型的情况,非常常用

请问这种写指针偏移的方法博途怎么做?
本帖最近评分记录:
  • 下载积分:+1(海上的烟花) 感谢分享!
    wlmissyou
    级别: 探索解密
    精华主题: 0
    发帖数量: 54 个
    工控威望: 156 点
    下载积分: 892 分
    在线时间: 83(小时)
    注册时间: 2017-06-11
    最后登录: 2024-05-06
    查看wlmissyou的 主题 / 回贴
    1楼  发表于: 2021-01-17 19:32
    回答:
    第一个问题:这个要具体到何种通信方式,你的问题有些笼统
    第二个问题:在博图平台上有 300 400 和1200 1500两个系列,300 400使用非优化的数据块,所以对变量的高低字节或高低字,使用AT指令来实现声明。如下示意:
    CrcVariable : Word;   // CRC校验用变量字
    CrcByte AT CrcVariable : Array[0..1] of Byte;   // CRC校验用变量的高低字节

    1200和1500可以使用符号寻址的后面跟上绝对寻址的位或字节或字。请参考以下网址:
    https://support.industry.siemens.com/cs/document/57374718/如何在-step-7-(tia-portal)-中使用符号方式按位,字节,或字访问非结构?dti=0&lc=zh-CN
    zhou1211
    级别: 略有小成
    精华主题: 1 篇
    发帖数量: 203 个
    工控威望: 359 点
    下载积分: 1165 分
    在线时间: 64(小时)
    注册时间: 2013-11-04
    最后登录: 2024-04-12
    查看zhou1211的 主题 / 回贴
    2楼  发表于: 2021-01-19 13:36
    引用
    引用第1楼wlmissyou于2021-01-17 19:32发表的  :
    回答:
    第一个问题:这个要具体到何种通信方式,你的问题有些笼统
    第二个问题:在博图平台上有 300 400 和1200 1500两个系列,300 400使用非优化的数据块,所以对变量的高低字节或高低字,使用AT指令来实现声明。如下示意:
    CrcVariable : Word;   // CRC校验用变量字
    CrcByte AT CrcVariable : Array[0..1] of Byte;   // CRC校验用变量的高低字节
    .......

    1. 命名就已经表明了例子的通讯方式     stAds  当然是指ADS通讯,并且通讯中广泛用到,那便是泛指,为何一定要限定通讯方式 这个定义本来就是为了通讯能找到通讯起始位置,任何类型通讯几乎都适用;
    2. 如果at是用在这里,那作用不是很明显,
      


    针对第二个我必须再举个例子: 比如modbus接收到目标回复数据,这个数据长度肯定不定。用指针我就不用关心有多长,那帧数据中有交代,当然可以用个255数组全部包下;
    但这肯定是下下搞法,占用内存
    [ 此帖被zhou1211在2021-01-19 13:54重新编辑 ]
    拂云客
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 391 个
    工控威望: 1049 点
    下载积分: 775 分
    在线时间: 80(小时)
    注册时间: 2015-11-16
    最后登录: 2021-02-02
    查看拂云客的 主题 / 回贴
    3楼  发表于: 2021-01-25 10:07