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