?? 升級文檔.txt
字號:
簡易PLC 梯型圖 解釋型監控 示范程序(用于 51單片機)
***************************************************************************************************
前言:
感謝網友 wisebaby 和 znl3512,自告奮勇的為 DIY 開源 PLC 活動排猶解難,擔任主攻 DIY 開源 PLC 的通訊下載 CODE 任務。
網友 znl3512 編寫的 PLC 通訊下載 CODE 比較早,那時 簡易PLC 還沒成型,是用 AT89S51 單片機 成功測試了 仿三菱 FX1N PLC 下載程序的例子,詳見以下連接:
點擊此處下載 ourdev_482258.rar(文件大小:4K) (原文件名:PLC-通訊下載.rar)
網友 wisebaby 編寫的 PLC 通訊下載 CODE 已在 簡易PLC 上測試通過,詳見以下連接:
仿三菱 FX1N PLC 下載通訊協議 C Code示范程序 V1.0.1版本 正式發布
為配合網友的工作,老許將原 簡易PLC 梯型圖(指令編碼)轉 51 C 程序示范程序 作了修改和移植,拼湊成 PLC 梯型圖 解釋型監控 C Code示范程序(用于 51單片機) 框架,說心里話,這種容量小、功能少的 PLC,用匯編是最佳選擇,程序精練、執行效率高,比如散轉指令,用 C語言的函數指針效率大打折扣,但考慮到方便大家今后程序的移植、更改、提高,使之能適應于 AVR,STM8,NEC,PIC,H8,STM32......等任何單片機,未使用 51單片機特有的 bit 操作指令,關鍵部位也未插入匯編,等程序修改穩定后再修改相關指令,優化程序代碼,提升執行速度,使之更適合 51單片機的使用。
本程序支持混合編程,即在 PLC 指令編碼中可任意插入 C 語言語句,符合 C 語言規范的匯編語言語句。可使用現有的調試軟件仿真器設置斷點,單步,多步,跟蹤,連續,全速等手段調試 PLC 程序,修改和監控 PLC 點元件狀態和內容,使之更適合廣大單片機愛好者使用。
本程序已插入移植了網友 wisebaby 和 znl3512 編寫的 仿三菱 FX1N PLC 下載通訊協議 C Code示范程序,真正實現兼容 三菱FXGPWIN 軟件 的 開源PLC,通過 三菱FXGPWIN 軟件 下載 PLC 程序,依靠片內監控程序解釋執行 PLC 指令。老許組織網友編寫的所有 簡易PLC 示范程序已全部通過本監控程序測試。
三菱梯型圖示范測試程序及使用說明:
1、下載預裝 PLC 監控程序
打開 笙泉(MPC82G516)串口下載軟件,調入 PLC 梯型圖 解釋型監控 C Code示范程序 的 Hex文件后通過串口將程序下載到 簡易PLC 中。
2、使用三菱梯型圖編程軟件 FXGP-WIN-C 下載 PLC 程序
打開三菱梯型圖編程軟件 FXGP-WIN-C ,建立文件,輸入梯型圖程序,經轉換成指令碼后直接下載到 簡易PLC 中(如直接使用本文件夾中的示范測試程序實例,可省略這一步)。
3、簡易PLC 使用須知
按下 簡易PLC 中運行/下載鍵,打開電源開關,此時 簡易PLC 綠燈亮,可通過 三菱 FXGP-WIN-C 軟件下載 PLC程序,下載完畢,再按一下(松開)簡易PLC 中運行/下載鍵(橙燈亮),簡易PLC 則運行下載的 PLC程序,如松開 簡易PLC 運行/下載鍵打開電源開關,則直接運行 簡易PLC 內的 PLC程序。
4、三菱梯型圖 至 AVR監控軟件, 至 STM32監控軟件 目前還未動手,等 三菱梯型圖 至 51監控軟件工作穩定可靠后再組織網友移植,也歡迎網友自行移植到其他系統中。
--------------------------------------------------------------------------------------------------------------------
下面為 簡易型 PLC 梯型圖編程實例目錄,其程序在文件夾 PLC51中:
變頻顯示器擴展鍵盤輸入端口
X20 // STOP/RESET
X21 // RUN
X22 // 下箭頭
X23 // JOG
X24 // 右移
X25 // 上箭頭
X26 // ENTER/DATA
X27 // MENU/ESC
變頻顯示器擴展顯示輸出端口
S243 // 變頻顯示器LED個位小數點顯示緩沖區
S244 // 變頻顯示器LED十位小數點顯示緩沖區
S245 // 變頻顯示器LED百位小數點顯示緩沖區
S246 // 變頻顯示器LED千位小數點顯示緩沖區
S247 // 變頻顯示器LED個位數熄滅標志
S248 // 變頻顯示器LED十位數熄滅標志
S249 // 變頻顯示器LED百位數熄滅標志
S250 // 變頻顯示器LED千位數熄滅標志
S251 // 變頻顯示器F/R指示顯示緩沖區
S252 // 變頻顯示器 Hz指示顯示緩沖區
S253 // 變頻顯示器 V 指示顯示緩沖區
S254 // 變頻顯示器 A 指示顯示緩沖區
S255 // 變頻顯示器RUN指示顯示緩沖區
一、定時器60秒延時時間測試程序 Time-60.pmw
按下X0,Y0亮,松開Y0熄滅。
如按下X0不放,延盡60秒Y1常亮。
變頻器面板外部擴展顯示延時時間值(單位100ms,十進制)
二、輸入輸出口測試 IO-demo.pmw
X0 --> Y0
X1 --> Y1
X2 --> Y2
X3 --> Y3
X4 --> 置Y4常亮
X5 --> 清Y4
X6 --> 置Y5常亮
X7 --> 清Y5
X10 --> 置Y6常亮
X11 --> 清Y6
X12 --> 置Y7常亮
X13 --> 清Y7
三、跑馬燈應用之一 Marquee1.pmw
四、電機正反轉控制 MotorPos.pmw
X0 正向啟動按鈕
X1 停止按鈕
X2 反向啟動按鈕
X3 過載保護
Y0 正向運行用交流接觸器
Y1 反向運行用交流接觸器
五、計數器應用之一 Counter1.pmw
X0 加1計數脈沖輸入
X1 減1計數脈沖輸入
X2 清0按鈕
變頻器面板外部擴展顯示(十六進制)
六、計數器應用之二 Counter2.pmw
X0 加1計數脈沖輸入
X1 減1計數脈沖輸入
X2 清0按鈕
變頻器面板外部擴展顯示(十進制)
七、PLC計數器測試程序(預置計數值20) Counter3.pmw
RUN RUN燈亮,啟動計數器,充許計數
STOP RUN燈熄滅,關閉計數器,不充許計數
X0 計數脈沖加1輸入
X2 計數器清0按鈕
預置計數值到 F/R燈亮,RUN燈熄滅,關閉計數器
變頻器面板外部擴展顯示計數值(十進制)
八、輸入口測試 Input.pmw
X0 變頻器面板外部擴展顯示"1"
X1 變頻器面板外部擴展顯示"2"
X2 變頻器面板外部擴展顯示"3"
X3 變頻器面板外部擴展顯示"4"
X4 變頻器面板外部擴展顯示"5"
X5 變頻器面板外部擴展顯示"6"
X6 變頻器面板外部擴展顯示"7"
X7 變頻器面板外部擴展顯示"8"
X10 變頻器面板外部擴展顯示"9"
X11 變頻器面板外部擴展顯示"10"
X12 變頻器面板外部擴展顯示"11"
X13 變頻器面板外部擴展顯示"12"
變頻器面板外部擴展輸入口
STOP(X20) 變頻器面板外部擴展顯示"13"
RUN (X21) 變頻器面板外部擴展顯示"14"
下箭頭(X22) 變頻器面板外部擴展顯示"15"
JOG (X23) 變頻器面板外部擴展顯示"16"
右移(X24) 變頻器面板外部擴展顯示"17"
上箭頭(X25) 變頻器面板外部擴展顯示"18"
ENTER(X26) 變頻器面板外部擴展顯示"19"
ESC (X27) 變頻器面板外部擴展顯示"20"
九、簡易時鐘 Stime.pmw
按JOG 進入時間設置
右移 顯示器閃爍光標循環右移1位
上箭頭 顯示器閃爍位置數值加1
下箭頭 顯示器閃爍位置數值減1
ENTER 退出時間設置
變頻器面板外部擴展顯示時間值
(高二位顯示時,低二位顯示分,F/R指示燈顯示秒信號)
十、簡易計算器 Computer.pmw
X0 0
X1 1
X2 2
X3 3
X4 4
X5 5
X6 6
X7 7
X10 8
X11 9
變頻器擴展按鈕
上箭頭 +
下箭頭 -
右移 乘
JOG 除
RUN =
RESET 清0
當前操作 + 顯示 F/R(指示燈)
當前操作 - 顯示 Hz(指示燈)
當前操作 乘 顯示 V (指示燈)
當前操作 除 顯示 A (指示燈)
顯示:變頻器面板4位十進制數
十一、改進型簡易時鐘 Stime2.pmw
按JOG 進入時間設置
右移 顯示器閃爍光標循環右移1位
上箭頭 顯示器閃爍位置數值加1
下箭頭 顯示器閃爍位置數值減1
ENTER 退出時間設置
按MENU 時:分顯示 和 分:秒顯示 切換
變頻器面板外部擴展顯示時間值
(中間小數點顯示秒信號)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -