yushaoquan12
对工控相当的热爱
级别: 略有小成
精华主题: 0
发帖数量: 140 个
工控威望: 380 点
下载积分: 739 分
在线时间: 23(小时)
注册时间: 2021-11-28
最后登录: 2024-11-06
查看yushaoquan12的 主题 / 回贴
楼主  发表于: 2024-06-01 23:13
如果我们的梯形图D100Z0,当我们把Z0每次接通一次Z0+10,这样想接通第一次我们是D100,第二次为D110第三次为的D120变址寄存器在我们PLC里面怎么才能实现这种变址效果呢?
是不是可以这样子赋值D100:=D100+10,求教大咖们给予指导!!!!万分感谢!!
有志者事成
幽默人生
级别: 网络英雄
精华主题: 0
发帖数量: 66 个
工控威望: 6860 点
下载积分: 10183 分
在线时间: 668(小时)
注册时间: 2014-10-07
最后登录: 2024-11-14
查看幽默人生的 主题 / 回贴
1楼  发表于: 2024-06-02 11:08
三菱ST没法用指针,只能这样了。
IF LDP(1,X0) THEN
    MOV(1,D1000,D100Z0);
    ADD_E(1,Z0,K10,Z0);
END_IF;

IF LDP(1,X1) THEN
    Z0:=0;
END_IF;
18857713026
赚点辛苦钱不容易啊 诶~~~~ 努力赚钱
级别: 略有小成
精华主题: 0
发帖数量: 389 个
工控威望: 483 点
下载积分: 1173 分
在线时间: 186(小时)
注册时间: 2020-11-27
最后登录: 2024-11-14
查看18857713026的 主题 / 回贴
2楼  发表于: 2024-06-02 11:17
汇川EASY系列
声明  测试指针: POINTER;
梯形图
           PTGET  测试指针  D100  
           LDP X0  PTADD 测试指针  K10 测试指针
          DMOV 测试指针 DXXX
codesys系列
          声明    测试指针: POINTER TO DINT;
                     源数据    :DINT;  //就是你的D100
                     取指针_R :R_TRIG;//沿信号取一次指针
                     取得数据:DINT;
          程序
                    取指针_R(CLK:=取指针的条件);
                    IF 取指针_R.Q THEN
                         测试指针:=ADR(源数据);
                    END_IF
                    你就可以对 测试指针 做加减乘除了。。 测试指针 = 测试指针 +10 ; 测试指针= 测试指针*2;等等等等


                   取得数据:=^测试指针;
宿迁电工
级别: 论坛先锋
精华主题: 0
发帖数量: 1029 个
工控威望: 1169 点
下载积分: 2836 分
在线时间: 393(小时)
注册时间: 2018-11-30
最后登录: 2024-11-12
查看宿迁电工的 主题 / 回贴
3楼  发表于: 2024-06-03 14:54
用数组呗
长三角地区,PLC编程,工业机器人编程
吸塑机,轴承合套仪程序开发
专业外协
 TEL:13815796487(微信同号)
uthman
QQ:3749615
级别: 家园常客
精华主题: 1 篇
发帖数量: 453 个
工控威望: 813 点
下载积分: 2739 分
在线时间: 770(小时)
注册时间: 2007-10-25
最后登录: 2024-11-12
查看uthman的 主题 / 回贴
4楼  发表于: 2024-06-03 15:04
作为间接地址使用的情况下,应使用全局标签中指定的软元件的间接指定。
■ST的示例
ADRSET(TRUE,intVar,gvAddr); // 将intVar的间接地址读取到gvAddr。
INC (TRUE,@D0);       // 通过指定至gvAddr的软元件D0的间接指定使用。
uthman
QQ:3749615
级别: 家园常客
精华主题: 1 篇
发帖数量: 453 个
工控威望: 813 点
下载积分: 2739 分
在线时间: 770(小时)
注册时间: 2007-10-25
最后登录: 2024-11-12
查看uthman的 主题 / 回贴
5楼  发表于: 2024-06-03 15:04
将间接地址传送至软元件,使用传送目标软元件的间接指定。
■ST的示例
ADRSET(TRUE,intVar,lvAddr); // 将intVar的间接地址读取到lvAddr。
DMOV(TRUE,lvAddr,D0);   // 将读取到lvAddr中的间接地址传送至软元件。
INC (TRUE,@D0);       // 通过传送的软元件的间接指定使用。
ren1823
级别: 工控侠客
精华主题: 0
发帖数量: 306 个
工控威望: 2721 点
下载积分: 247 分
在线时间: 416(小时)
注册时间: 2019-08-01
最后登录: 2024-11-14
查看ren1823的 主题 / 回贴
6楼  发表于: 2024-06-03 15:44
直接用啊 D0:=D100Z0
卓发智能
相互学习,共同进步。
级别: 工控侠客
精华主题: 0
发帖数量: 2437 个
工控威望: 3025 点
下载积分: 10357 分
在线时间: 649(小时)
注册时间: 2008-08-03
最后登录: 2024-11-14
查看卓发智能的 主题 / 回贴
7楼  发表于: 2024-06-03 18:04
我一般这样子用
相信自我!
宿迁电工
级别: 论坛先锋
精华主题: 0
发帖数量: 1029 个
工控威望: 1169 点
下载积分: 2836 分
在线时间: 393(小时)
注册时间: 2018-11-30
最后登录: 2024-11-12
查看宿迁电工的 主题 / 回贴
8楼  发表于: 2024-06-04 08:59
都用ST了,干嘛不用数组操作
长三角地区,PLC编程,工业机器人编程
吸塑机,轴承合套仪程序开发
专业外协
 TEL:13815796487(微信同号)
liangke2014
级别: 探索解密
精华主题: 0
发帖数量: 11 个
工控威望: 102 点
下载积分: 587 分
在线时间: 74(小时)
注册时间: 2014-10-24
最后登录: 2024-11-13
查看liangke2014的 主题 / 回贴
9楼  发表于: 2024-06-05 09:37
图片:
IF M0=1 THEN;
    D100Z0:=D0;
    Z0:=Z0+10;
    M0:=0;
END_IF;

测试的时候M0置1时是可以把D0的数据依次传送到D100,D110,D120……里的。