發布日期:2022-04-26 點擊率:1052
怎樣讀出PLC高數計數器的最大值和最小值
運用冒泡法
西門子300/400程序:
假定十個數據,放在DB1中,安放次第如下:
DBD0
DBD4
…
DBD36
下面程序:
OPN DB 1 /////翻開DB1這個數據塊
L 10 ////裝載10到MB0中,因為有十個數據,要進行十次排序,9次也可以的
LL0: T MB 0
L P#0.0 ////裝載地址指針,這是要害,不要搞錯了
LAR1
L 9
LL1: T MB 2 ////內部循環,進行9次,直到把最大值排到終究
L DBD 【AR1,P#0.0】
L DBD 【AR1,P#4.0】
<R
JC LL2 ////比照前后兩個值,假定前面大于后邊的,則前后數據交流
L DBD 【AR1,P#0.0】
T #m_temp
L DBD 【AR1,P#4.0】
T DBD 【AR1,P#0.0】
L #m_temp
T DBD 【AR1,P#4.0】
LL2: +AR1 P#4.0 ////指針主動進行加4,由所以浮點數,所以要越過4個字節
L MB 2
LOOP LL1 ///這個指令主動的將A寄存器里的值減1
L MB 0
LOOP LL0
比方西門子S7-300/400中,MW20,MW22,MW24,MW26,MW28從中找出最大值和最小值,可以運用SCL,A:= MAX (IN1:=a, IN2:=b, IN3:=c, IN4:=d);
A:= MIN (IN1:=a, IN1:=b, IN1:=c, IN1:=d);來取最大值和最小值
如三菱plc 可用SER指令如:SER D100 D0 D10 K10
其間D100 K10是指以D100為首的10個寄存器,而D0是要查找的數據 D10則是方針的個數留心不是方針的數據 而D11則是榜首個契合方針的值D12是終究一個契合的方針值 D13是最小值的方位 D14即是最大值的方位
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航