发表于:2003-11-23 21:52:00
楼主
看看小弟编的这个程序对不对,请指点一下是否可行。如有不足之处,敬请指教。
小弟编了一个类似轧机的程序,控制系统采用西门子S7-CPU224、TD200文本显示器和光栅尺(栅距0.04)以及电磁阀组成。
设备上辊两端由两只油缸控制升降,使用的电磁阀为普通电磁阀,动作频率不宜过快。现要求上辊两端同步升降误差不超过0.4(即10个栅距)。数据通过TD200文本显示器显示。
程序如下:
NETWORK 1 //翻倒侧上辊光栅尺计数
LD I0.1
EU
AN I0.0
LD I0.1
EU
A I0.0
LD I0.6
CTUD C0, +0
NETWORK 2 //固定侧上辊光栅尺计数
//
LD I0.3
EU
AN I0.2
LD I0.3
EU
A I0.2
LD I0.7
CTUD C1, +0
NETWORK 3 //上辊同降
LD I1.1
= M0.0
NETWORK 4 //上辊同升
LD I1.2
= M0.1
NETWORK 5 //高压总阀控制
LD M0.0
O M0.2
O M0.3
= Q0.7
NETWORK 6 //低压总阀控制
LD M0.1
= Q1.0
NETWORK 7 //翻倒侧和固定侧两端计数比较
LD M0.0
O M0.1
LPS
AW>= C0, C1
MOVW C0, VW24
-I C1, VW24
MOVW +0, VW26
LPP
AW> C1, C0
MOVW C1, VW26
-I C0, VW26
MOVW +0, VW24
NETWORK 8 //翻倒侧上缸降
LD M0.0
O M0.2
AW<= VW24, +10
= Q0.2
NETWORK 9 //翻倒侧上缸升
LD M0.1
AW<= VW26, +10
AN I0.6
= Q0.1
NETWORK 10 //固定侧上缸降
LD M0.0
O M0.3
AW<= VW26, +10
= Q0.4
NETWORK 11 //固定侧上缸升
LD M0.1
AW<= VW24, +10
AN I0.7
= Q0.3
NETWORK 12 //翻倒侧上辊计数置零
LDW< C0, +0
MOVW +0, C0
NETWORK 13 //固定侧上辊计数置零
LDW< C1, +0
MOVW +0, C1
NETWORK 14 //翻倒侧上辊位置数据运算
//
LD SM0.0
ITD C0, VD200
DTR VD200, VD204
MOVR VD204, VD88
*R 0.04, VD88
NETWORK 15 //固定侧上辊位置数据运算
LD SM0.0
ITD C1, VD208
DTR VD208, VD212
MOVR VD212, VD108
*R 0.04, VD108
NETWORK 16 //TD200显示“欢迎”
LD SM0.1
O M1.0
MOVB 16#80, VB14
R M1.0, 1
NETWORK 17 //TD200显示翻倒侧和固定侧数据
LD M1.1
MOVB 16#40, VB14
R M1.1, 1