有一段S5-100的代码要转换到S7-226,用STL写,老是出错,请各位大侠帮忙看看!
Segment 6 of 23
:O(
:A F 2.1 01
:L DW 13 01
:SD T 13 01
:NOP 0 01
:NOP 0 01
:NOP 0 01
:A T 13 01
:)
:O(
:A F 2.0 01
:L DW 12 01
:SD T 12 01
:NOP 0 01
:NOP 0 01
:NOP 0 01
:A T 12 01
:)
:O
:A F 12.5
:A F 2.0
:S F 2.2
:O F 2.3
:O F 2.4
:O F 21.2
:R F 2.2
:NOP 0
:***
请教一下,在S7-200里面用STL该怎么写啊????
最佳答案
你提供的这段程序是没法转的,因为你的得电延时定时器T12、T13的定时时长取自数据字DW12和DW13没有告知具体是多长时间,而S7-200中不同的定时器代表不同的时间基数
Timer Type Resolution Maximum Value Timer Number
TONR 1 ms 32.767 s T0, T64
10 ms 327.67 s T1-T4, T65-T68
100 ms 3276.7 s T5-T31, T69-T95
TON, TOF 1 ms 32.767 s T32, T96
10 ms 327.67 s T33-T36, T97-T100
100 ms 3276.7 s T37-T63, T101-T255
所以首先你要确认用哪一个定时器来实现你的定时时长,其次就是按程序要求来编程了。
假设仍用T12及T13能满足你的需求,那么程序可以转换为:
Network 1 // 网络标题
// 网络注释
LD M2.1
TON T13, VW13
Network 2
LD M2.0
TON T12, VW10
Network 3
LD T12
O T13
LD M12.5
A M2.0
OLD
LD M2.3
O M2.4
O M21.2
NOT
A M2.2
OLD
= M2.2
S5程序中的DW12、DW13在S7-200中用变量字VW替代,所以在转换程序时你还得先找出DW12、DW13所对应的数据块DB,在相应的DB中找到DW12和DW13的定时时长数值,把它们对应的时长转换存入到VW变量字中。
提问者对于答案的评价:
good
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357151.html