一般而言4x4鍵盤共有16個輸入,如果用PLC接的話需要16個DI,這樣很浪費成本,因此產生了利用掃瞄邏輯的概念,4個DO+4個DI就可以解決4x4鍵盤的應用。
因為S7-1200並沒有4x4鍵盤的指令及掃瞄邏輯的指令,所以我們可以自己寫在FB裡,以後就有4x4鍵盤的Library可以重覆使用囉。
圖1是4x4鍵盤要接到PLC的腳位圖
圖2是掃瞄邏輯的電路圖,例如H1是第一個掃瞄的輸出,此時只有S1、S5、S9、S13這4個按鈕可以導通,S1對應到輸入的第1點,S5對應到第2點,後序依此類推。
圖4此掃瞄邏輯程式要用到的重要指令為SR指令,基本上就是SET與RESET兩個指令的合體。
圖5是寫出來的FB外觀圖,Start是啟用此FB,Input及Output就是對應4DI及4DO。
圖6是FB裡的第一行程式,說明如何產生自我無限循環。
圖7是讓Q0.0~Q0.3輪流導通
圖8是當Q0.0導通時,再判斷I0.0~I0.3那一個DI有觸發,即可知道那一個按鍵;後續的程式都是依此類推。
結論:為了避免DI誤動作,建議每一個SET及RESET前面可以加上一個Timer當做濾波的概念。Timer時間一定是要比DO導通的時間還短,例如30ms。
分格線-----------------------------------------------------------------------------
我是Bob, 一起討論Siemens SIMATIC TIA portal PLC S7-400 S7-300 S7-1500 S7-1200 ET200SP S7-200 LOGO HMI Panel I4.0 西門子 自動化 工業4.0