資源描述:
《變頻器與西門子PLC在自由口模式下的串行通信》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、變頻器與西門子PLC在自由口模式下的串行通信之所以我的博客關(guān)于通訊的內(nèi)容多,主要是因?yàn)槲覍?duì)PLC和變頻器通訊的知識(shí)比較少?,F(xiàn)在也只做過西門子S7-226與英威騰變頻器的Modbus和自由口的通訊1引言變頻器與plc配套應(yīng)用是常見的自動(dòng)化集成系統(tǒng)。由plc發(fā)出啟動(dòng)、停止、運(yùn)行頻率等指令,來(lái)控制變頻器的運(yùn)轉(zhuǎn)及頻率輸出,達(dá)到控制生產(chǎn)過程自動(dòng)化目的?;诖型ㄓ嵉淖冾l器與plc集成技術(shù)具有的優(yōu)點(diǎn)得到廣泛的工程重視。本文介紹三菱變頻器f700與西門子plcs7-200在自由口模式下的串行通信,達(dá)到plc對(duì)變頻器的便捷控制。2變頻器與plc的連接plcs7-200與三菱變頻器通信采用rs4
2、85接口的串行方式。s7-200側(cè)為九針接口,三菱變頻器為rs485端子,采用二線式連接。3通訊系統(tǒng)設(shè)計(jì)3.1plc的自由口通信模式s7-200支持自由口通信模式。自由口模式使s7-200可以與許多通信協(xié)議公開的其他設(shè)備和控制器進(jìn)行通信。波特率為1200~115200b/s(可調(diào)整)。自由口模式的數(shù)據(jù)字節(jié)格式總是有一個(gè)起始位、一個(gè)停止位,用戶可以選擇7位或者8位數(shù)據(jù),也可以選擇是否有校驗(yàn)位以及是奇校驗(yàn)還是偶校驗(yàn)。在自由口模式下,通過使用發(fā)送中斷、接收中斷、發(fā)送指令(xmt)和接收指令(rcv),為所有通信活動(dòng)編程。在自由口模式下,通信協(xié)議完全由用戶程序控制。3.2三菱變頻器專用
3、協(xié)議在自由口模式下,plc與變頻器通信遵循三菱變頻器專用協(xié)議。首先,按照變頻器通訊規(guī)格對(duì)變頻器參數(shù)進(jìn)行設(shè)置(具體參照變頻器手冊(cè))。其次通信采用以下步驟:向變頻器發(fā)送要求數(shù)據(jù)(變頻器不會(huì)自動(dòng)發(fā)送數(shù)據(jù)),經(jīng)變頻器等待時(shí)間后,從變頻器向plc發(fā)送返回?cái)?shù)據(jù),等待變頻器處理事件后,進(jìn)行再處理。plc與變頻器通信以ascii碼(16進(jìn)制)進(jìn)行。plc對(duì)變頻器進(jìn)行運(yùn)行狀態(tài)監(jiān)控、運(yùn)行頻率設(shè)置、啟動(dòng)、停止等操作。這些數(shù)據(jù)的收發(fā)采用不同的數(shù)據(jù)模式。如運(yùn)行頻率采用附表所示數(shù)據(jù)模式。附表運(yùn)行頻率寫入數(shù)據(jù)格式12345678910111213變頻器命令代等ENQ數(shù)據(jù)求和校驗(yàn)站號(hào)碼待時(shí)間附表中,enq為控
4、制符,實(shí)際發(fā)送16進(jìn)制數(shù)據(jù)05,其余皆為ascii碼表示。變頻器站號(hào)范圍為0~31,指令代碼在變頻器手冊(cè)中給出,如運(yùn)行頻率寫入為‘ee’。不同運(yùn)行指令有不同數(shù)據(jù)。求和校驗(yàn)求法如下:將從“站號(hào)”到“數(shù)據(jù)”的ascii碼按16進(jìn)制加法求總和,再對(duì)和的低兩位進(jìn)行ascii編碼。字符數(shù)13是結(jié)束字符可以是cr或lf。4自由口通信編程設(shè)計(jì)下面用實(shí)例來(lái)介紹自由口模式下的通信,plc向變頻器發(fā)送20hz頻率。(要使頻率寫入有效,開始時(shí)plc先向變頻器發(fā)送“寫入”指令,命令代碼‘fb’。)主程序:網(wǎng)絡(luò)1:ldsm0.1//初始化movb16#09,smb130//端口1自由口模式,波特率960
5、0,每個(gè)字符8位,無(wú)校驗(yàn)movb16#b0,smb187//寫接收指令控制字,允許rcv,檢測(cè)信息結(jié)束字符、空閑線起始條件movb16#0d,smb189//設(shè)置信息結(jié)束字符為16#0d(回車符)movw+5,smw190//設(shè)置空閑線檢測(cè)時(shí)間間隔為5msmovb100,smb194//設(shè)置最大字符數(shù)為100網(wǎng)絡(luò)2:ldsm0.0movb16#0d,vb100//發(fā)送數(shù)據(jù)字符數(shù)為13movb16#05,vb101//通訊要求movb16#30,vb102//變頻器站號(hào)01movb16#31,vb103movb16#44,vb104//頻率寫入命令代碼movb16#44,vb10
6、5movb16#31,vb106//等待時(shí)間1×10msmovb16#32,vb107//發(fā)送頻率20hzmovb16#30,vb108movb16#30,vb109movb16#30,vb110movb16#44,vb111//求和校驗(yàn)碼demovb16#45,vb112movb16#0d,vb113//結(jié)束字符movb0,mb10網(wǎng)絡(luò)3:ldsm0.0atchint_0:int0,26//端口1發(fā)送完中斷,連接到中斷0atchint_2:int2,24//端口1接收完中斷,連接到中斷2eni//允許中斷網(wǎng)絡(luò)4:ldsm0.0rsm187.7,1//禁止接收(避免接收發(fā)送沖突
7、)復(fù)位sm187.7為0即禁止接收rcvvb149,1xmtvb100,1//開始發(fā)送中斷程序0:網(wǎng)絡(luò)1:ldsm0.0movb5,smb35atchint_1:int1,11//定時(shí)中斷到中斷1中斷程序1:網(wǎng)絡(luò)1:ldsm0.0dtch11ssm187.7,1//允許接收(置位sm187.7為1)rcvvb149,1//開始接收中斷程序2:網(wǎng)絡(luò)1:ldsm0.0incbmb10//每發(fā)送接收完一次mb10加1ab=mb10,3//當(dāng)超過3次,退出不再發(fā)送creti網(wǎng)絡(luò)2:ldb=smb18