作為一名as產品的熱線工程師,在熱線上經常會遇到客戶的各種“疑難雜癥”,必須“對癥下藥”才能幫助客戶解決問題。其實有些“癥狀”可能只需要一個簡單的設置就能解決問題。最近就遇到了這樣一個case,在此與大家分享:
q:工程師您好,我現在用的是200的,剛剛看的系統手冊,里面有個tp指令,可以以指定的周期產生脈沖,跟我的工藝剛好符合。但是我打開200的編程軟件,怎么沒找到指令啊,這怎么回事啊?
a:(哦,tp指令,是iec定時器指令。沒找到?micro/win軟件的編程模式問題。)您好!您在系統手冊看的是定時器指令吧,tp應該是iec 1131-3編程模式下中的脈沖定時器指令?
q:是啊,iec的,我還看到了simatic 定時器,iec的特殊嗎,系統手冊里有,但軟件中沒找到這條指令,不能用???
a: 不是不能用,而是200的編程模式分兩種,一種是simatic模式,一種是iec 1131-3模式(如圖1),默認的編程模式是simatic 模式,這種模式下是不能使用iec指令的,必須修改編程模式為iec 1131-3 的才可以使用iec指令。

圖1.編程模式選擇


圖2.simatic 編程模式 圖3. iec 1131-3 編程模式
q:那我之前的程序都是默認siamtic下編的,那我這個指令不能用是嗎?
a:沒錯,step 7-micro/win不提供在兩種不同編輯模式之間移植程序的功能。


圖4.不同編程模式下的程序不能移植
q:那我不能在simatic下使用tp指令了,那這功能我怎么實現?。?/p>
a: 我們可以自己編程來實現這個功能??梢杂妹}沖啟動一個有自保持功能的起保停電路,定時時間到后,通過常閉觸點將輸出點復位。(跟客戶溝通具體的編程思路。。。)

圖5.編程實現tp指令功能
至此,客戶的問題已經解決了,消失的tp指令也重新出現了。
那各位看官,iec 1131-3編程模式和simatic編程模式有何區別,iec 1131-3編程模式又有何特殊之處呢,看我慢慢道來:
s7--200提供兩種指令集用于完成各種自動化任務。
simatic指令集:大多數plc提供同類型的基本指令,但其外觀和操作因供應商而異,通常有微小的差異。simatic語言僅是西門子公司提供的指令集,simatic指令通常執行時間最短, 所有三種編輯器(lad、fbd、stl)都可與simatic指令集共同使用。
iec指令集:符合的iec 1131--3標準,只能在lad和fbd編輯器中使用iec指令。國際委員會是為電子技術所有領域制訂全球標準的國際性組織。在最近幾年里,他們制定了專門針對眾多plc編程領域的新標準。iec 1131-3就是其中之一,鼓勵不同的plc制造商提供在外觀和操作上相似的指令。
在simatic指令集和iec 1131-3指令集之間存在一些關鍵的差別:
1. iec 1131-3指令集中的指令較少。有些simatic通常包含的指令在iec 1131-3規格中并非標準指令,與simatic相當的指令以iec 1131-1指令集的非標準擴展形式提供。在指令樹中用紅色菱形?? ) 標記。某些iec 1131-3指令與對應的simatic指令(定時器、計數器、乘和除)操作方法不同。
2.在iec指令中%表示直接地址。

圖6. %表示直接地址
2. 一些iec指令可以接受多種數據格式,這個概念通常指多重功能。例如,數學指令盒中不區分add_i (整數加法)和add_r (實數加法),而是在加法指令中檢查被加數的格式,并自動選擇正確的cpu指令。

圖7. 多重功能
算術指令、比較指令、傳送指令,移位/循環指令也支持多重功能。




圖8. 支持多重功能的指令
3. iec 1131-3模式編程,必須為全局符號表中的所有數值選擇數據類型, iec編輯器具有細致數據類型檢查,在該模式中,參數數據類型必須與符號或變量的數據類型完全匹配,和符號表(simatic 編程模式)在功能上的唯一區別是“數據類型”。

圖9. simatic 符號表

圖10. iec 全局變量表
4. 使用iec 1131-3指令時,必須使用類型聲明,而且支持系統數據類型檢查,這一功能有助于盡量減少編程語法錯誤。數據格式檢查不需要用戶介入。在編譯過程中可以發現這些錯誤,simatic編輯器不具有此功能。

![]()
圖11.編譯過程中出現的錯誤
看到這,我想各位看官已經對iec1131-3這種編程模式心中有數了。










