回复:用最简单方法完成这道编程题

Harry_dong

  • 帖子

    480
  • 精华

    16
  • 被关注

    9

论坛等级:侠士

注册时间:2005-01-09

普通 普通 如何晋级?

发布于 2006-02-13 09:20:16

0楼

过年在家里没事做了一个FB,测试过了基本符合要求。
CALL FB 1 , DB1
QDF:=P#M 2.0 //启动伐上升沿首地址
FK :=P#I 0.0 //反馈信号首地址
SJ :=7000 //设置检测的时间
SM :=7 //伐的数量(1-255)
BJ :=P#Q 10.0 //报警输出的首地址
QD :=P#M 0.0 //启动信号
SZ :=MD220 //由SFC64获得的时间
其中QDF,QD,BJ,FK都位指针类型。如果一共七个伐要求这七个伐的启动反馈与报警为连续的地址。

QD_T,FK_T,BJ_T,QD_FT为STAT变量 ARRAY[0..255]OF BOOL
QD_T_1为STAT变量 ARRAY[0..255]OF dword
其他的为temp变量

L #SM
T #XH1
L #SJ
T #SJ1
L #SZ
T #SZ1
////////////////////////////////////////
L P##QDF
LAR1
L D [AR1,P#2.0]
LAR1

L P##QD_T
LAR2

L #XH1
QD: T #XH

A [AR1,P#0.0]
= [AR2,P#0.0]

+AR1 P#0.1
+AR2 P#0.1

L #XH
LOOP QD //取得启动上升沿信号
///////////////////////////////////////
////////////////////////////////////////
L P##QD
LAR1
L D [AR1,P#2.0]
LAR1

L P##QD_FT
LAR2

L #XH1
QD22: T #XH

A [AR1,P#0.0]
= [AR2,P#0.0]

+AR1 P#0.1
+AR2 P#0.1

L #XH
LOOP QD22 //取得启动信号
///////////////////////////////////////

L P##FK
LAR1
L D [AR1,P#2.0]
LAR1

L P##FK_T
LAR2

L #XH1
FK: T #XH

A [AR1,P#0.0]
= [AR2,P#0.0]

+AR1 P#0.1
+AR2 P#0.1

L #XH
LOOP FK //取得反馈信号
///////////////////////////////////////

L P##QD_T
LAR1
L P##QD_T_1
LAR2

L #XH1
QD11: T #XH

AN [AR1,P#0.0]
JC KK1

L #SZ1
T D [AR2,P#0.0]

KK1: A(
L #SZ1
L D [AR2,P#0.0]
-D
L #SJ1
>D
)
AN [AR1,P#32.0]
A [AR1,P#1120.0]
= [AR1,P#64.0]

+AR1 P#0.1
+AR2 P#4.0

L #XH
LOOP QD11
//////////////////////////////////////////
/////////////////////////////////////////
L P##BJ
LAR1
L D [AR1,P#2.0]
LAR1
L P##BJ_T
LAR2

L #XH1
BJ: T #XH

A [AR2,P#0.0]
= [AR1,P#0.0]

+AR1 P#0.1
+AR2 P#0.1

L #XH
LOOP BJ //付值报警信号
BEU
///////////////////////////////////////

学无止境
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54706条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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