zhou1211
级别: 略有小成
精华主题: 1 篇
发帖数量: 205 个
工控威望: 362 点
下载积分: 1172 分
在线时间: 66(小时)
注册时间: 2013-11-04
最后登录: 2024-09-18
查看zhou1211的 主题 / 回贴
楼主  发表于: 2021-01-10 14:57
图片:
VAR
A : array[0..10] OF FB_XX;
END_VAR
   CODESYS 编程可以这样做数组功能块调用



西门子定义变量这样定义就提示不支持,求教是什么原因。资料上说可以
[ 此帖被zhou1211在2021-01-10 17:02重新编辑 ]
zhou1211
级别: 略有小成
精华主题: 1 篇
发帖数量: 205 个
工控威望: 362 点
下载积分: 1172 分
在线时间: 66(小时)
注册时间: 2013-11-04
最后登录: 2024-09-18
查看zhou1211的 主题 / 回贴
1楼  发表于: 2021-01-11 08:50
问题已解决,原来只有静态变量中能添加,DB全局中也不能,还有什么地方可以定义,感谢提示
zhou1211
级别: 略有小成
精华主题: 1 篇
发帖数量: 205 个
工控威望: 362 点
下载积分: 1172 分
在线时间: 66(小时)
注册时间: 2013-11-04
最后登录: 2024-09-18
查看zhou1211的 主题 / 回贴
2楼  发表于: 2021-01-14 15:45
引用
引用第3楼heiheiwodeai于2021-01-11 10:42发表的  :
西门子FB类型的数组,只能在FB里创建,所以你先创建一个最外层的Fb,然后把以后已写好的功能直接在此FB里创建就行,Fb数组只能由背景数据库生产,不能自己新建

好像你很熟西门子,顺便问一下,西门子不能使用枚举吧
zhou1211
级别: 略有小成
精华主题: 1 篇
发帖数量: 205 个
工控威望: 362 点
下载积分: 1172 分
在线时间: 66(小时)
注册时间: 2013-11-04
最后登录: 2024-09-18
查看zhou1211的 主题 / 回贴
3楼  发表于: 2021-01-17 10:20
引用
引用第4楼zhou1211于2021-01-14 15:45发表的  :

好像你很熟西门子,顺便问一下,西门子不能使用枚举吧

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,再组合成自定义类型的情况,非常常用

请问这种写指针偏移的方法博途怎么做?
[ 此帖被zhou1211在2021-01-17 15:26重新编辑 ]