
主要硬件設備:三(sān)菱PLC與台達變頻器VFD-M通訊僅供(gòng)參考案例。
通信格式:MODBUS ASCII,9600,7,E,1,停止位2,變頻器地址01。
IF( M0 )THEN //*M0為觸摸屏上的變頻器啟動按鈕*如果(guǒ)為真啟動
Y11:=1; //Y11變頻器(qì)電源接通
Y5:=1; //Y5為運行指示燈
ELSE //如果為假
Y11:=0; //y11停止
Y5:=0; //Y5指示燈滅
M2:=0;
M3:=0;
M4:=0;
M5:=0;//修改頻率的數據(jù)發送狀態(tài)位,起(qǐ)到同時隻能發送一次數據的作(zuò)用變頻器(qì)關閉的話,將各參數(shù)按鈕複位
END_IF;
IF( LDP( 1,M8123 ) )THEN //上(shàng)沿脈衝,*數據接收完畢的話,複(fù)位m8123數據接收完畢標誌
rst(1,M8123);
END_IF;
IF ( M8002 ) THEN
M8161:=1; //8位數據處理模式
D8120:=H0C88; //設置通信(xìn)格式(shì)*通信格式:MODBUS ASCII,9600,7,E,1,停(tíng)止位2,
END_IF;
IF( M8000 AND LDP( 1,M6 ) )THEN //M6為修改變(biàn)頻器頻率按鈕
D10:=H003A; //設置傳送的內容,根據變頻器功能碼和變頻器寄存器地址設置,
D25:=H000D;
D26:=H000A;
D101:=H0001;
D102:=H0003;
D103:=H0020;
D104:=H0001;
D105:=D115;//往變頻器的H2001地址寫一個頻率數據內(nèi)容D115,D115通過觸摸屏(píng)輸入元(yuán)件(jiàn)傳入,因此(cǐ)在觸摸屏上寫入頻率內容輸入即可更改變頻器運行頻率
D106:=H0000;
ASCI( TRUE ,D101, 2,D11);
ASCI( TRUE ,D102, 2,D13);
ASCI( TRUE ,D103, 2,D15);
ASCI( TRUE ,D104, 2,D17);
ASCI( TRUE ,D105, 2,D19);
ASCI( TRUE ,D106, 2,D21); //將傳送內容轉換成ASCII碼
ADD_E( TRUE , D101,D102,D103,D104,D105,D106 , D110);
SUB_E( TRUE , 256 , D110, D28); //計算數據內容的LRC碼
ASCI( TRUE ,D28, 2,D23); //將LRC碼(mǎ)寫入d23,d24
RS( TRUE, D10 , 17 , 17, D50 );//設置傳(chuán)送數據內(nèi)容為D10開始的17個D寄存器裏的內容
M8122:=1; //傳送開始
END_IF;
IF( LDP( 1,M2 ) ) THEN
M10:=1;
M11:=0;
M12:=0;//當觸摸屏正轉M2按鈕按下時,設置M10發送數據標(biāo)誌,並切換觸摸屏上的按鈕狀態,其他按鈕為假。
END_IF;
IF( ldp( 1,M3 ) ) THEN
M10:=1;
M11:=0;
M12:=0; //當觸摸屏(píng)反(fǎn)轉M3按鈕按下時,設置M10發送數據標(biāo)誌(zhì),並切換觸摸屏上(shàng)的按鈕狀態(tài),其他按鈕為假
END_IF;
IF( ldp( 1,M4 ) ) THEN
M5:=1;
M3:=0;
M2:=0; //當觸摸屏停止按鈕按下時,設置M5發送數據標誌,並切換觸摸屏上(shàng)的按鈕狀態,其他按鈕(niǔ)為假
END_IF;
IF( ldf( 1,M8122 ) ) THEN
M10:=0; //數據發送成功以後,將M10置0,不(bú)再繼續發送
END_IF;
IF( ldp( 1,M2 ) AND M5 ) THEN //M2為變頻器正轉按鈕
D10:=H003A;
D25:=H000D;
D26:=H000A;
D101:=H0001;
D102:=H0006;
D103:=H0020;
D104:=H0000;
D105:=H0000;
D106:=H0012;//設置傳送的內容,根據變頻(pín)器功能碼和變頻器(qì)寄存器地址設置
ASCI( TRUE ,D101, 2,D11);
ASCI( TRUE ,D102, 2,D13);
ASCI( TRUE ,D103, 2,D15);
ASCI( TRUE ,D104, 2,D17);
ASCI( TRUE ,D105, 2,D19);
ASCI( TRUE ,D106, 2,D21);//將傳送內容轉換成ASCII碼
ADD_E( TRUE , D101,D102,D103,D104,D105,D106 , D110);
SUB_E( TRUE , 256 , D110, D28);//計算數據內(nèi)容的LRC碼
ASCI( TRUE ,D28, 2,D23);//將LRC碼寫入d23,d24
RS( TRUE, D10 , 17 , 0, D50 );//設置傳送數據內容為D10開始的17個D寄存器裏的內容
M8122:=1; //傳送開始
END_IF;
IF( ldp( 1,M3 ) AND M5 ) THEN//M3為變(biàn)頻器反(fǎn)轉按鈕
D10:=H003A;
D25:=H000D;
D26:=H000A;
D101:=H0001;
D102:=H0006;
D103:=H0020;
D104:=H0000;
D105:=H0000;
D106:=H0022;//設置傳送的(de)內容,根據變頻器功能碼和變頻器寄存器地址設置
ASCI( TRUE ,D101, 2,D11);
ASCI( TRUE ,D102, 2,D13);
ASCI( TRUE ,D103, 2,D15);
ASCI( TRUE ,D104, 2,D17);
ASCI( TRUE ,D105, 2,D19);
ASCI( TRUE ,D106, 2,D21);//將傳送內容轉換成ASCII碼
ADD_E( TRUE , D101,D102,D103,D104,D105,D106 , D110);
SUB_E( TRUE , 256 , D110, D28);//計算數據內容的LRC碼
ASCI( TRUE ,D28, 2,D23);//將LRC碼寫(xiě)入d23,d24
RS( TRUE, D10 , 17 , 0, D50 );//設置傳送數據內容為(wéi)D10開始的17個D寄(jì)存器裏的內容
M8122:=1; //傳送開始
END_IF;
IF( ldp( 1,M4 ) AND M5 ) THEN //M4為變頻器停(tíng)止按鈕
D10:=H003A;
D25:=H000D;
D26:=H000A;
D101:=H0001;
D102:=H0006;
D103:=H0020;
D104:=H0000;
D105:=H0000;
D106:=H0001;//設置傳送的內容,根據變頻器功能碼和(hé)變頻器寄存器地址設置
ASCI( TRUE ,D101, 2,D11);
ASCI( TRUE ,D102, 2,D13);
ASCI( TRUE ,D103, 2,D15);
ASCI( TRUE ,D104, 2,D17);
ASCI( TRUE ,D105, 2,D19);
ASCI( TRUE ,D106, 2,D21);//將(jiāng)傳送內容轉換成(chéng)ASCII碼
ADD_E( TRUE , D101,D102,D103,D104,D105,D106 , D110);
SUB_E( TRUE , 256 , D110, D28);//計算數據內容的LRC碼
ASCI( TRUE ,D28, 2,D23);//將(jiāng)LRC碼寫入d23,d24
RS( TRUE, D10 , 17 , 0, D50 );//設(shè)置傳送數據內容(róng)為D10開始的17個D寄存器裏的內容
M8122:=1; //傳送開始(shǐ)
END_IF;
以上ST語言(yán)供參孝.
rs指令的參數和(hé)功能等內容請參(cān)考FX編程器的通信篇手冊。
變頻器參數地址,功能碼使用以及參數內容(róng)設置,請參考變頻器手(shǒu)冊上的通信篇設置。
---------------------


數包裝機-2.png&w=689&h=388&a=&zc=1)




數包裝機-4.png&w=689&h=388&a=&zc=1)



評論