梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4209 个
工控威望: 7578 点
下载积分: 14804 分
在线时间: 2856(小时)
注册时间: 2016-10-31
最后登录: 2024-11-16
查看梦雨天涯的 主题 / 回贴
24楼  发表于: 2022-03-07 21:03
macro_command main()
unsigned  short i
bool on=1,off=0,a[100]
GetData(i, "Local HMI", RW, 0, 1)
FILL(a[0],0,100)
SetData(a[0], "Local HMI", LB, 0, 100)
SetData(on, "Local HMI", LB, i, 1)
end macro_command
这是威纶通宏指令写法。。
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
hefq
级别: 家园常客
精华主题: 0
发帖数量: 614 个
工控威望: 808 点
下载积分: 1922 分
在线时间: 1523(小时)
注册时间: 2008-07-03
最后登录: 2024-11-17
查看hefq的 主题 / 回贴
25楼  发表于: 2022-03-07 23:02

木林森
拒绝加班内卷,从我做起!
级别: 工控侠客
精华主题: 0
发帖数量: 304 个
工控威望: 2072 点
下载积分: 1883 分
在线时间: 206(小时)
注册时间: 2020-08-16
最后登录: 2024-11-13
查看木林森的 主题 / 回贴
26楼  发表于: 2022-03-08 10:04
用数组不就好了,实测3G可以使用数组,ST语言下验证没问题
18998923978
级别: 探索解密
精华主题: 0
发帖数量: 48 个
工控威望: 112 点
下载积分: 2364 分
在线时间: 71(小时)
注册时间: 2021-10-09
最后登录: 2024-11-06
查看18998923978的 主题 / 回贴
27楼  发表于: 2022-03-08 10:35
图片:
引用
引用第22楼浪子海风于2022-03-07 17:30发表的  :
一开始是我写的格式不对,所以以为PLC没有支持。
根据13楼 SL0301兄弟的方法:DECO D0 M0K8....这个方法在模拟中测得:
当D0=0时,M0=通  其它=断
当D0=1时,M1=通  其它=断  (没有锁存前面的M0)
当D0=2时,M2=通  其它=断   (没有锁存前面的M0 和M1)
.......



译码指令,本就只能有1个输出位;移位指令,就是多个位一起移动,外部复位移动区间的部分位,之后再使用移位指令的时候,这些被复位的位,也会一起启动;那完全满足示例中的要求的话,只能用变址,或数组;
关于变址:3GPLC在梯形图环境中,变址指令编译通不过,可以采用内嵌ST,或者直接用ST语言写一个FB块实现;
关于数组:在全局变量中声明一个长度为256个的BOOL数组,关联地址M0,通过X1上升沿,变动数组索引,再对变化后的数组索引位,进行置位操作;
[ 此帖被18998923978在2022-03-08 11:29重新编辑 ]
heiheiwodeai
级别: 略有小成
精华主题: 0
发帖数量: 245 个
工控威望: 367 点
下载积分: 974 分
在线时间: 330(小时)
注册时间: 2013-03-26
最后登录: 2024-11-14
查看heiheiwodeai的 主题 / 回贴
28楼  发表于: 2022-03-08 11:14
图片:
图片:
我用3GA测试的 没有问题,程序见图片,我看你梯形图没写M0,所以把M0置0了,如果有用 可以把中间M0那个删掉,程序更加简单
[ 此帖被heiheiwodeai在2022-03-08 11:24重新编辑 ]
菜鸟学工控_1
级别: 工控侠客
精华主题: 0
发帖数量: 388 个
工控威望: 2301 点
下载积分: 2640 分
在线时间: 158(小时)
注册时间: 2017-08-29
最后登录: 2024-11-16
查看菜鸟学工控_1的 主题 / 回贴
29楼  发表于: 2022-03-08 13:01
论坛里的三菱高手很多啊
天空流星
SZ-CL
级别: 网络英雄
精华主题: 0
发帖数量: 571 个
工控威望: 6193 点
下载积分: 19693 分
在线时间: 558(小时)
注册时间: 2008-03-17
最后登录: 2024-11-16
查看天空流星的 主题 / 回贴
30楼  发表于: 2022-03-08 14:21
引用
引用第22楼浪子海风于2022-03-07 17:30发表的  :
一开始是我写的格式不对,所以以为PLC没有支持。
根据13楼 SL0301兄弟的方法:DECO D0 M0K8....这个方法在模拟中测得:
当D0=0时,M0=通  其它=断
当D0=1时,M1=通  其它=断  (没有锁存前面的M0)
当D0=2时,M2=通  其它=断   (没有锁存前面的M0 和M1)
.......

不要先说什么指令,先把你想要实现什么功能先说清除

是要
=1时,就M1 ON其他OFF
=2时,就M2 ON其他OFF
.......
还是
=1时,M1 ON并锁存
.......

指令是工具,思想,逻辑是关键,把问题说清除了,问题也就解决一半了
gaoyingchun
GaoYingChun
级别: 略有小成
精华主题: 0
发帖数量: 204 个
工控威望: 299 点
下载积分: 2904 分
在线时间: 110(小时)
注册时间: 2016-05-06
最后登录: 2024-11-15
查看gaoyingchun的 主题 / 回贴
31楼  发表于: 2022-03-08 14:28
引用
引用第30楼天空流星于2022-03-08 14:21发表的  :

不要先说什么指令,先把你想要实现什么功能先说清除

是要
=1时,就M1 ON其他OFF
.......


你没认真或看懂楼主的程序
天空流星
SZ-CL
级别: 网络英雄
精华主题: 0
发帖数量: 571 个
工控威望: 6193 点
下载积分: 19693 分
在线时间: 558(小时)
注册时间: 2008-03-17
最后登录: 2024-11-16
查看天空流星的 主题 / 回贴
32楼  发表于: 2022-03-08 14:57
图片:
人家说了效果不理想
FX3G 的PLC  SET M0 不能用变址,单别的指令可以用,可以变通的
楼主开头提到的和这个是不是你想 要到
[ 此帖被天空流星在2022-03-08 20:15重新编辑 ]
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5196 个
工控威望: 7419 点
下载积分: 158720 分
在线时间: 3159(小时)
注册时间: 2007-11-21
最后登录: 2024-11-17
查看sjm213的 主题 / 回贴
33楼  发表于: 2022-03-08 16:53
Have a test

payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
34楼  发表于: 2022-03-09 07:36
学习了
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
w563302951
级别: 探索解密
精华主题: 0
发帖数量: 74 个
工控威望: 192 点
下载积分: 7437 分
在线时间: 85(小时)
注册时间: 2013-12-09
最后登录: 2024-11-16
查看w563302951的 主题 / 回贴
35楼  发表于: 2022-03-09 08:35
用解码指令是否可行!