發表于:2003/7/31 17:46:00
#0樓
用FX-PLC編程口通訊電纜遍歷讀PLC的映象區
FX-PLC的編程口通訊協議只有幾個命令,這就是"0,1,7,8"(讀/寫/強制位ON/強制位OFF),
它以PLC內部映象地址為操作對象,所有元件地址都從一張映象地址表中換算出來,包括用戶
程序。
它屬于低層操作協議,有最強大的功能,諸如元件讀寫、強制位元件、程序讀寫、密碼讀
寫、非連續地址通訊時用的指針隊列讀寫....有廠家編程軟件所提供的全部功能(它也是
通過編程口與PLC連接的)。在上位機獨占PLC的直連條件下,是一種最得心應手的通訊方
法。
本人嘗試在Execl電子表格中編程,遍歷讀出FX-PLC的全部映象地址里的數據和它的狀態
,當然它包含了PLC的全部元件區和用戶程序區(PLC密碼在程序區內)了。
具體做法:
1. 在新建的XLS文檔里,命名一個“遍歷讀FXPLC”和一個“PLC數據”工作表。
2. VBA程序全部放在與“遍歷讀FXPLC”工作表對應的代碼區內,工作表的第一行放3個控件
,一個MSCOMM通訊控件和兩個命令按鈕。這里要說明的是,用戶在安裝了VB6.0后才可使用
MSCOMM控件,當然可以在自有 MSCOMM32.OCX 時自行注冊后使用。
MSCOMM控件的引用:
在Exexl的菜單欄中點擊: 視圖 -> 工具欄 -> 控件工具箱, 將它拖到工具欄上或其它合
適的位置.
點擊控件工具箱工具上的"查看代碼"按鈕,進入代碼編輯區,再點擊VB編輯器的菜單欄中的:
工具 -> 引用,在"可使用的引用" 區中尋找"MSCOMM32.OCX"控件并選中它。如找不到,點
擊"瀏覽"按鈕,在Windows的系統文件區(system/system32)可找到它, 注意在文件類型欄
中應選"ActiveX控件(*.OCX)",找到"MSCOMM32.OCX"文件后點擊選擇,退出。
3.返回Execl編輯器,點擊控件工具箱上的"其它控件"按鈕,在它的菜單欄中選中:
Microsoft Chart Control, version 6.0 或:
Microsoft Communications Control, version 6.0
把這個電話機圖標安放在"遍歷讀FXPLC"工作表的第一行上,它的缺省名為MSComm1
再在控件工具箱拖放兩個命令按鈕放到第一行:CommandButton1和CommandButton2,
給按鈕分別命名為"開始測試"和"打斷操作"。
4.說明:"遍歷讀FXPLC"工作表從第二行起由程序自動填寫每次操作的狀態,如:"0000:OK",
表示讀映象地址0000區時得到了正確的數據,而“8000:ERR”則表示在讀8000h映象地址
時出錯。
"PLC數據"工作表由程序自動填寫由PLC返回的對應數據,如"8000:XXXXXXX.....",它表示
PLC返回8000h首地址開始的完整數據(含起始符、結束符和校驗碼)。
程序開始運行后,整個讀入過程大約需時10-15分鐘。
5.下面就可以在"遍歷讀FXPLC"的代碼區編制代VB代碼了。
(有興趣者頂一下,我將貼出VB代碼...)
FX-PLC的編程口通訊協議只有幾個命令,這就是"0,1,7,8"(讀/寫/強制位ON/強制位OFF),
它以PLC內部映象地址為操作對象,所有元件地址都從一張映象地址表中換算出來,包括用戶
程序。
它屬于低層操作協議,有最強大的功能,諸如元件讀寫、強制位元件、程序讀寫、密碼讀
寫、非連續地址通訊時用的指針隊列讀寫....有廠家編程軟件所提供的全部功能(它也是
通過編程口與PLC連接的)。在上位機獨占PLC的直連條件下,是一種最得心應手的通訊方
法。
本人嘗試在Execl電子表格中編程,遍歷讀出FX-PLC的全部映象地址里的數據和它的狀態
,當然它包含了PLC的全部元件區和用戶程序區(PLC密碼在程序區內)了。
具體做法:
1. 在新建的XLS文檔里,命名一個“遍歷讀FXPLC”和一個“PLC數據”工作表。
2. VBA程序全部放在與“遍歷讀FXPLC”工作表對應的代碼區內,工作表的第一行放3個控件
,一個MSCOMM通訊控件和兩個命令按鈕。這里要說明的是,用戶在安裝了VB6.0后才可使用
MSCOMM控件,當然可以在自有 MSCOMM32.OCX 時自行注冊后使用。
MSCOMM控件的引用:
在Exexl的菜單欄中點擊: 視圖 -> 工具欄 -> 控件工具箱, 將它拖到工具欄上或其它合
適的位置.
點擊控件工具箱工具上的"查看代碼"按鈕,進入代碼編輯區,再點擊VB編輯器的菜單欄中的:
工具 -> 引用,在"可使用的引用" 區中尋找"MSCOMM32.OCX"控件并選中它。如找不到,點
擊"瀏覽"按鈕,在Windows的系統文件區(system/system32)可找到它, 注意在文件類型欄
中應選"ActiveX控件(*.OCX)",找到"MSCOMM32.OCX"文件后點擊選擇,退出。
3.返回Execl編輯器,點擊控件工具箱上的"其它控件"按鈕,在它的菜單欄中選中:
Microsoft Chart Control, version 6.0 或:
Microsoft Communications Control, version 6.0
把這個電話機圖標安放在"遍歷讀FXPLC"工作表的第一行上,它的缺省名為MSComm1
再在控件工具箱拖放兩個命令按鈕放到第一行:CommandButton1和CommandButton2,
給按鈕分別命名為"開始測試"和"打斷操作"。
4.說明:"遍歷讀FXPLC"工作表從第二行起由程序自動填寫每次操作的狀態,如:"0000:OK",
表示讀映象地址0000區時得到了正確的數據,而“8000:ERR”則表示在讀8000h映象地址
時出錯。
"PLC數據"工作表由程序自動填寫由PLC返回的對應數據,如"8000:XXXXXXX.....",它表示
PLC返回8000h首地址開始的完整數據(含起始符、結束符和校驗碼)。
程序開始運行后,整個讀入過程大約需時10-15分鐘。
5.下面就可以在"遍歷讀FXPLC"的代碼區編制代VB代碼了。
(有興趣者頂一下,我將貼出VB代碼...)