橙色,是施耐德電氣寫進(jìn) logo 里的顏色,也是工程師在dcs機(jī)柜里最常見(jiàn)到的“一抹亮色”。
可很多人沒(méi)注意:當(dāng)這抹橙色落在 modiconplc的標(biāo)簽上時(shí),背后藏著一整套從 1968 年延續(xù)至今的指令“暗語(yǔ)”——從最早的 19 條梯形圖,到 2025 年支持多核實(shí)時(shí)的 300+ 指令,它們像樂(lè)高積木一樣,被一代代工程師拼成煉油塔、空客總裝線、冬奧造雪機(jī)的控制靈魂。
今天,我們就把這套“暗語(yǔ)”拆成 30 張卡片,帶你 5 分鐘速覽施耐德 plc 指令的“橙色密碼”。
(modicon m580 / m340 / quantum 通用,固件 ≥ sv4.40)
1 問(wèn):ld 和 ldnc 有啥區(qū)別?
答:ld 取常開,ldnc 取常閉;后者在母線開始處對(duì)位信號(hào)取反再裝入累加器。
2 問(wèn):and 與 andn 怎么用?
答:and 串聯(lián)常開,andn 串聯(lián)常閉;一條指令只操作 1 位,影響 ccvo 狀態(tài)位。
3 問(wèn):or 和 orn 呢?
答:or 并聯(lián)常開,orn 并聯(lián)常閉;編譯后生成同一字節(jié)內(nèi)的位或運(yùn)算。
4 問(wèn):st 指令能直接寫物理輸出嗎?
答:可以,但必須先映射到 %q* 內(nèi)存區(qū);寫完后立即刷新到輸出模塊。
5 問(wèn):stn 會(huì)不會(huì)把線圈“置反”?
答:對(duì),stn 把累加器結(jié)果取反再寫入,相當(dāng)于“常閉線圈”。
6 問(wèn):梯形圖里想用“異或”怎么辦?
答:調(diào)用 xor 指令;支持 1/8/16/32 位寬,結(jié)果放回累加器。
7 問(wèn):置位-復(fù)位哪家強(qiáng)?
答:s 置位、r 復(fù)位,均可帶“條件”;同一地址多處 s/r,后掃描者贏。
8 問(wèn):drum 指令是干啥的?
答:步序控制器,一次最多 32 步,每步可定義 16 個(gè)輸出掩碼,自動(dòng)順啟/順停。
9 問(wèn):for 循環(huán)怎么寫?
答:for i := 1 to 10 by 2 do … end_for;
i 可為 int、dint;步長(zhǎng)可省,默認(rèn) 1 。
10 問(wèn):while 和 repeat 區(qū)別?
答:while 先判后跑,repeat 先跑后判;均支持布爾表達(dá)式退出。
11 問(wèn):ton 與 tof 最小時(shí)基?
答:1 ms;但掃描周期 <1 ms 時(shí),仍以 1 ms 向上取整。
12 問(wèn):tp 脈沖定時(shí)器能自復(fù)位嗎?
答:不能,必須外部給 in=0 才能重新觸發(fā);輸出脈寬=設(shè)定值。
13 問(wèn):ctu 計(jì)數(shù)上限多少?
答:uint 65535,達(dá)到后 cv 保持,qu 置 1,需 r 端復(fù)位。
14 問(wèn):ctd 向下計(jì)數(shù)能到負(fù)數(shù)嗎?
答:不會(huì),減到 0 停止,qd 置 1;load 端可重載初值。
15 問(wèn):addm 是干啥的?
答:把 ip:端口 字符串→內(nèi)部 addm 結(jié)構(gòu),供 read_var / write_var 調(diào)用。
16 問(wèn):read_var 一次最多讀多少字?
答:125 個(gè)寄存器(2000 位);超量需分包循環(huán)。
17 問(wèn):write_var 支持 03 嗎?
答:只支持 06/16;若設(shè)備僅 03,需改用 data_exch 自建 pdu。
18 問(wèn):data_exch 優(yōu)點(diǎn)?
答:可發(fā)任意功能碼,支持 raw pdu;但需手動(dòng)計(jì)算 crc/head。
19 問(wèn):int_to_real 會(huì)四舍五入嗎?
答:不會(huì),直接補(bǔ)零擴(kuò)展;若要舍入,先 int_to_dint 再 dint_to_real。
20 問(wèn):shl 與 rol 差別?
答:shl 空位補(bǔ) 0,rol 循環(huán)移位,最低位=最高位移出值。
21 問(wèn):fifo 指令容量?
答:最大 4096 字,深度可設(shè);溢出狀態(tài)位 fifo_o=1。
22 問(wèn):jmp 能跨 pou 嗎?
答:不能,僅在本任務(wù)段內(nèi)跳轉(zhuǎn);跨 pou 用 cal/ret。
23 問(wèn):cal 調(diào)用功能塊可帶幾參數(shù)?
答:理論 255,實(shí)際受堆棧 32 kb 限制;建議 <32 個(gè)。
24 問(wèn):ret 必須寫嗎?
答:fb 內(nèi)可缺省,最后一句默認(rèn) ret;fc 需顯式 ret 并返回值。
25 問(wèn):sbo 與 sho 區(qū)別?
答:sbo 置位輸出,sho 短脈沖輸出;后者自動(dòng)斷,寬=1 掃描周期。
26 問(wèn):blink 占系統(tǒng)資源嗎?
答:每實(shí)例 8 字節(jié),最小周期 1 ms;高頻慎用,建議 <1 khz。
27 問(wèn):pidff 與 pid 差別?
答:pidff 帶前饋通道,kff 可設(shè);適用于大滯后+可測(cè)擾動(dòng)系統(tǒng)。
28 問(wèn):il 語(yǔ)言還能用嗎?
答:iec 61131-3 保留,但 schneider 官方推薦轉(zhuǎn) st/fbd;新特性不再追加。
29 問(wèn):安全 cpu 指令差別?
答:普通指令集全兼容,但安全 i/o 僅能用 sf_ 前綴功能塊,需 xls 授權(quán)。
30 問(wèn):哪里下載最新指令表?
答:官網(wǎng)搜索文檔號(hào) 33003137.13(m580)/ 35010829.10(quantum),pdf 隨固件同步更新