回复:我早晨也想了个程序,请大家指点下;

完美的超哥

  • 帖子

    167
  • 精华

    1
  • 被关注

    4

论坛等级:侠客

注册时间:2011-10-09

普通 普通 如何晋级?

发布于 2012-08-08 16:33:45

15楼

quote:以下是引用n次看你的背影在2012-08-08 16:02:22的发言:
quote:[b]以下是引用一曲悲伤,.在2012-08-08 14:13:44的发言:
这个逻辑性很是犀利;
M002:这段程序我看了半天也没读懂,还有就是指针加法为什么要用双整数呢?


楼主:上面程序中,启动后T1是5秒的高电平3秒低电平的方波源!P#0.5是常数指针,是32位数据格式(不含区域标示),将其装载到累加器后,它是一个32位的整数!另外这段程序在PLCSIM中测试运行没有任何问题!记住把程序的中文”<“改成英文小于。当时帖代码时英文小于会给系统屏蔽了,所以才换成了中文小于来表达!

建议楼主学习一下官方的间接寻址资料。

N侠你好,是的,刚才测试主要是因为我之前的程序里边包含有CFC编译后在OB 121 等OB块中存在程序,发生的错误;
后来我就在你程序的基础上进行了下修改,可是寻址一直无法进行下去了,你看看应该如何修改下呢?(就是在亮5s灭3s后进行+p#0.1);我改的程序如下:


A M 100.1 //扫描启动、停止标志位(M100.1=1启动,M100.1=0停止)
FP M 100.2 //判断启动信号的上升沿
JCN M001 //如果启动上升沿没有到来,跳转到M001
L P#0.5 //如果启动上升沿到来,将起始地址装载到ACCU1(★定义起始地址)
T MD 200 //将起始地址暂存到MD102
M001: L MW 14
L 500
>I
= M 100.5
A M 100.5
A M 100.1
= Q [MD 200] //将当前的RLO赋给当前的Q点
A M 100.3
JCN M002
L MD 200
L P#0.1
+D
T MD 200
M002: L MD 200
L P#15.0
JCN M003 //如果当前的地址不大于结束地址,跳转到M003;如果当前的地址大于结束地址
L P#0.5 //装载起始地址到地址寄存器1(地址返回功能)
T MD 200
M003: A M 100.1 //扫描启动、停止标志位(M100.1=1启动,M100.1=0停止)
AN M 100.3
L S5T#8S
SD T 1
L T 1
T MW 14
A T 1
= M 100.3
FP M 101.0
AN M 100.1 //M100.1=0停止时,复位脉冲源定时器
R T 1
一切努力,只为巅峰
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54787条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。