引用
引用第56樓郭懷海于2011-03-13 00:43發表的  : 
你編一個SFC105模擬量計算程序試試。哈哈。 
 我查一下這個指令是什么意思,我還不怎么熟悉plc指令 
PLC 順控指令SFC 的編程方法 
順序功能圖(Sequeential Function Chart)是一種新穎的、按照工藝流程圖 
進行編程的圖形編程語言。這是一種IEC標準推薦的首選編程語言,近年來在 
PLC編程中已經得到了普及和推廣, 
SFC編程的優點: 
1、在程序中可以很直觀地看到設備的動作順序。比較容易讀懂程序,因為 
程序按照設備的動作順序進行編寫,規律性較強。 
2、在設備故障時能夠很容易的查找出故障所處在的位置。 
3、不需要復雜的互鎖電路,更容易設計和維護系統。 
SFC的結構: 
步+轉換條件+有向連接+機器工序的各個運行動作=SFC。 
SFC程序的運行從初始步開始,每次轉換條件成立時執行下一步、在遇到 
END步時結束向下運行。 
第一章 單流程結構的編程方法 
本教程主要介紹在三菱PLC編程軟件GX Developer中怎編制SFC順序功 
能圖。下面以例題1介紹SFC程序的編制法。 
例題1:自動閃爍信號生成,PLC 上電后Y0、Y1 以一秒鐘為周期交替閃 
爍。本例的梯形圖和指令表,詳細見附件 
呵呵,原來就在本論壇出的說明 
例題1:自動閃爍信號生成,PLC上電后Y0、Y1以一秒鐘為周期交替閃爍 
這個簡單如圖: 
交替輸出

另外看了半天,沒明白sfc105是什么意思 
如果sfc是任務調用功能,我們只要在每個任務中設定任務標記,程序運行要調用任務時,把任務標記設置為真就可以達到這個功能。 
其實也不需要,因為每個任務都是有條件執行的,只要條件不成立,就不會執行任務(雖然程序在掃描循環) 
------------------------- 
現在明白了sfc105是個數據轉換功能,其實plc把下面公式固定在里面了,我們只是輸入數據然后得出輸出答案: 
Y=(X-輸入下限) * (輸出上限-輸出下限) / (輸入上限-輸入下限) +輸出下限 
假設X是10位AD測量后的數值,數值范圍是0-1023 
我們把它轉換成0-100度顯示, 
計算順序如下: 
1 輸入差值=輸入上限-輸入下限; 
2 輸出差值=輸出上限-輸出下限; 
3 Y=(X-輸入下限); 
4 Y=(X-輸入下限)*(輸出上限-輸出下限); 
5 Y=(X-輸入下限)*(輸出上限-輸出下限) / (輸入上限-輸入下限); 
6 Y=(X-輸入下限)*(輸出上限-輸出下限) / (輸入上限-輸入下限) + 輸出下限; 
工程數據轉換

這樣就可以得出轉換后的數據,但是有個問題,如果(X-輸入下限)*(輸出上限-輸出下限)值大于65535時,數據會溢出; 
后來分析發現Y=(X-輸入下限) * (輸出上限-輸出下限) / (輸入上限-輸入下限) +輸出下限 這種算法有問題,把簡單變復雜化了
其實就是X值*比例系數=要顯示的值;
在我們的軟件里面,這些轉換無需考慮,我們有個參數頁面集成了這些功能,并且包含了校正功能(比如更換熱電阻或者熱電偶)可以自動計算出比例系數和基準數 
參數設置

[ 此帖被sy2kj在2011-04-07 08:38重新編輯 ]