您现在所在的是:

PLC论坛

回帖:3个,阅读:564 [上一页] [1] [下一页]
* 帖子主题:

西门子PLC300

795
244306717
文章数:16
年度积分:50
历史总积分:795
注册时间:2012/11/15
发站内信
发表于:2015/1/22 10:56:41
#0楼
请问这段程序怎么理解
附件 `Q088PP3R`{9E`0JEF8{V8D.jpg
795
244306717
文章数:16
年度积分:50
历史总积分:795
注册时间:2012/11/15
发站内信
发表于:2015/1/22 11:12:43
#1楼
这是一段PLC读取机器人DO信号的程序 怎么理解
8394
fujifa
文章数:2943
年度积分:80
历史总积分:8394
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2015/1/22 11:54:11
#2楼
以下是引用2443067172015/1/22 10:56:41的发言:
请问这段程序怎么理解
附件 `Q088PP3R`{9E`0JEF8{V8D.jpg

L #IO_Address   //装入IO地址,请注意,这里地址还不是真正的地址。
SLD 3    //左移3位,形成真正的指针地址。
T #result_dword  //保存指针

LAR1  P##ROBOT_DO //装入ROBOT_DO指针

L 8
READ:T #looppointer  //循环变量设为8
   L  PID【result_dword】 //装入地址为result_dword的内容
   T  DID【AR1,P#0.0】   //保存到背景数据块中,地址为 ROBOT_DO+0.0

   接下来result_dword+4.0,移动指针
   +AR1,4.0性质相同,也是移动指针

  。。。。。循环

大致就是这个意思,如果翻译成C语言的话,大致相当于就是:
int *p1,*p2;
for(i=0;i<=8;i++)
{
  *p2=*p1;
  p1++;
  p2++;
}
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
2401
gsxiaojian
文章数:170
年度积分:50
历史总积分:2401
注册时间:2007/11/29
发站内信
发表于:2015/1/22 11:57:07
#3楼
1.读取DO的起始地址
2.左移3位
3.存放至result_dword
4.装载指针P#ROBOT_DO至AR1
5.装载循环次数
6.将循环次数赋值到looppointer
7.装载DO的地址(地址指向result_dword的值)
8.传送至DI的存储地址(地址指向P#ROBOT_DO的值,偏移0)
9.result_dword加4个字节(指向下一个双字地址)
10.P#ROBOT_DO增加4个字节
11.判断循环次数是否完成8次,没有的话跳转到READ,继续执行循环程序

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

124.8008