電氣控制及S7-1200 PLC應(yīng)用技術(shù)(吳瑋 第二版)課件 第5-9章 S7-1200 PLC擴(kuò)展指令- S7-1200 PLC與人機(jī)界面的聯(lián)合運(yùn)行_第1頁
電氣控制及S7-1200 PLC應(yīng)用技術(shù)(吳瑋 第二版)課件 第5-9章 S7-1200 PLC擴(kuò)展指令- S7-1200 PLC與人機(jī)界面的聯(lián)合運(yùn)行_第2頁
電氣控制及S7-1200 PLC應(yīng)用技術(shù)(吳瑋 第二版)課件 第5-9章 S7-1200 PLC擴(kuò)展指令- S7-1200 PLC與人機(jī)界面的聯(lián)合運(yùn)行_第3頁
電氣控制及S7-1200 PLC應(yīng)用技術(shù)(吳瑋 第二版)課件 第5-9章 S7-1200 PLC擴(kuò)展指令- S7-1200 PLC與人機(jī)界面的聯(lián)合運(yùn)行_第4頁
電氣控制及S7-1200 PLC應(yīng)用技術(shù)(吳瑋 第二版)課件 第5-9章 S7-1200 PLC擴(kuò)展指令- S7-1200 PLC與人機(jī)界面的聯(lián)合運(yùn)行_第5頁
已閱讀5頁,還剩318頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1PLC原理及應(yīng)用電氣控制及S7-1200PLC應(yīng)用技術(shù)5.1日期和時(shí)間指令5.2字符串和字符指令5.3程序控制指令5.4中斷事件和中斷指令5.5通信指令5.6高速脈沖輸出和高速計(jì)數(shù)器5.7運(yùn)動(dòng)控制5.8PID控制指令

2第5章S7-1200PLC擴(kuò)展指令主要內(nèi)容:電氣控制及S7-1200PLC應(yīng)用技術(shù)日期和時(shí)間指令主要用于計(jì)算日期和時(shí)間。S7-1200支持的日期和時(shí)間指令如表所示:35.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)1.日期和時(shí)間數(shù)據(jù)類型S7-1200PLC中,與日期和時(shí)間有關(guān)的數(shù)據(jù)類型如表所示。使用說明:(1)存儲(chǔ)Time數(shù)據(jù)時(shí),采用有符號(hào)雙整數(shù),存儲(chǔ)格式為:日期、小時(shí)、分鐘、秒和毫秒;不需要指定全部時(shí)間單位。(2)存儲(chǔ)Date數(shù)據(jù)時(shí),采用無符號(hào)整數(shù),存儲(chǔ)格式為:年、月和日;必須指定全部時(shí)間單位。(3)存儲(chǔ)Time_of_Day(TOD)數(shù)據(jù)時(shí),采用無符號(hào)雙整數(shù),存儲(chǔ)格式為:小時(shí)、分鐘、秒和毫秒;除毫秒外,其他時(shí)間單位必須全部指定。(4)存儲(chǔ)DTL數(shù)據(jù)時(shí),采用12個(gè)字節(jié)的結(jié)構(gòu),存儲(chǔ)格式為:年、月、日、星期、小時(shí)、分鐘、秒和毫秒,星期信息不需輸入;除毫秒外,其他時(shí)間單位必須全部指定。45.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.日期和時(shí)間指令的使用時(shí)間轉(zhuǎn)換指令T_CONV:使用時(shí)間轉(zhuǎn)換指令T_CONV,可以轉(zhuǎn)換時(shí)間值的數(shù)據(jù)類型。如將Time數(shù)據(jù)類型轉(zhuǎn)換為DInt數(shù)據(jù)類型,或?qū)Int數(shù)據(jù)類型轉(zhuǎn)換回Time數(shù)據(jù)類型。IN和OUT的數(shù)據(jù)類型可以是整數(shù)類型(SInt、Int、DInt、USInt、UInt、UDInt),也可以是日期和時(shí)間類型(Time、Date、TOD、DTL),從指令下方提供的下拉列表中即可選擇IN和OUT的數(shù)據(jù)類型。55.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.日期和時(shí)間指令的使用時(shí)間相加指令T_ADD:使用時(shí)間相加指令T_ADD,可以將IN1的值加上IN2的值,結(jié)果存放在OUT指定的地址中。支持兩種數(shù)據(jù)類型的時(shí)間相加運(yùn)算:將一個(gè)時(shí)間段加到另一個(gè)時(shí)間段上(Time+Time=Time)、將一個(gè)時(shí)間段加到某個(gè)時(shí)間上(DTL/TOD+Time=DTL/TOD)。IN1和OUT的數(shù)據(jù)類型應(yīng)相同,可以是Time、TOD和DTL類型,IN2必須是Time類型。65.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.日期和時(shí)間指令的使用時(shí)間相減指令T_SUB:使用時(shí)間相減指令T_SUB,可以將IN1的值減去IN2的值,結(jié)果存放在OUT指定的地址中。支持兩種數(shù)據(jù)類型的時(shí)間相減運(yùn)算:將時(shí)間段減去另一個(gè)時(shí)間段(Time-Time=Time)、將某個(gè)時(shí)間減去時(shí)間段(DTL/TOD-Time=DTL/TOD)。IN1和OUT的數(shù)據(jù)類型應(yīng)相同,可以是Time、TOD和DTL類型,IN2必須是Time類型。75.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.日期和時(shí)間指令的使用時(shí)間值相減指令T_DIFF:使用時(shí)間值相減指令T_DIFF,可以將IN1的時(shí)間值減去IN2的時(shí)間值,將得到的時(shí)間間隔存放在OUT指定的地址中。支持的時(shí)間值相減運(yùn)算:將某個(gè)時(shí)間減去某個(gè)時(shí)間(Date/DTL/TOD-Date/DTL/TOD=Time/Int)。IN1和IN2格式應(yīng)相同,可以是Date、TOD和DTL類型,OUT可以是Time或Int類型。85.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.日期和時(shí)間指令的使用組合時(shí)間指令T_COMBINE:使用組合時(shí)間指令T_COMBINE,可以將IN1的DATE數(shù)據(jù)和IN2的TOD數(shù)據(jù)進(jìn)行組合,形成DTL數(shù)據(jù)存放在OUT中。95.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.日期和時(shí)間指令的使用舉例:圖中,I1.0閉合后,將MD0中的Time類型數(shù)據(jù)轉(zhuǎn)換為DInt類型數(shù)據(jù)存放在MD4中;再將DTL數(shù)據(jù)2019-1-21-10:20:43加上Time數(shù)據(jù)3H50M,得到的DTL類型結(jié)果2019-1-21-14:10:43存放在事先建立的全局變量DTL1(DTL類型)中;最后將2個(gè)DTL類型全局變量DTL2和DTL3做時(shí)間差,得到的時(shí)間間隔存放在MD8中。105.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.時(shí)鐘指令寫入系統(tǒng)時(shí)鐘指令WR_SYS_T:使用寫入系統(tǒng)時(shí)鐘指令WR_SYS_T,可以將IN中的DTL數(shù)據(jù)作為日期和時(shí)間信息寫入到PLC系統(tǒng)時(shí)鐘。輸出RET_VAL為Int類型地址,用以指示指令執(zhí)行錯(cuò)誤信息,輸出為0時(shí),代表成功寫入。115.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.時(shí)鐘指令讀取系統(tǒng)時(shí)鐘指令RD_SYS_T:使用讀取系統(tǒng)時(shí)鐘指令RD_SYS_T,可以讀取PLC系統(tǒng)時(shí)鐘的日期和時(shí)間信息(DTL數(shù)據(jù)),存放在OUT對(duì)應(yīng)的地址中。輸出RET_VAL為Int類型地址,用以指示指令執(zhí)行錯(cuò)誤信息,輸出為0時(shí),代表成功讀取。125.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.時(shí)鐘指令讀取本地時(shí)間指令RD_LOC_T:使用讀取本地時(shí)間指令RD_LOC_T,可以讀取PLC中的本地日期和時(shí)間信息(DTL數(shù)據(jù)類型),存放在OUT對(duì)應(yīng)的地址中。在讀取本地時(shí)間時(shí),需要用到夏令時(shí)和標(biāo)準(zhǔn)時(shí)間的時(shí)區(qū),應(yīng)在CPU組態(tài)界面中設(shè)置實(shí)時(shí)時(shí)鐘的時(shí)區(qū)為Beijing,不設(shè)置夏令時(shí)。輸出RET_VAL為Int類型地址,用以指示指令執(zhí)行錯(cuò)誤信息,輸出為0時(shí),代表成功讀取。135.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.時(shí)鐘指令舉例:利用時(shí)鐘指令控制路燈系統(tǒng)的自動(dòng)啟動(dòng)和停止,要求路燈在18:00到06:00自動(dòng)啟動(dòng),其余時(shí)間自動(dòng)停止。PLC程序如圖所示,首先利用讀取本地時(shí)間指令RD_LOC_T讀取實(shí)時(shí)時(shí)間,保存在DTL數(shù)據(jù)類型的局部變量DTL0中,由DTL0.HOUR參數(shù)即可獲得當(dāng)前的小時(shí),進(jìn)而通過比較邏輯控制路燈Q0.0的啟停。145.1日期和時(shí)間指令電氣控制及S7-1200PLC應(yīng)用技術(shù)1.字符串?dāng)?shù)據(jù)類型1.字符串的結(jié)構(gòu)字符串(String)數(shù)據(jù)的前2個(gè)字節(jié)分別用于存放用戶總字符數(shù)和用戶當(dāng)前字符數(shù),其后最多254個(gè)字節(jié)用于存放用戶字符數(shù)據(jù),即字符串?dāng)?shù)據(jù)的結(jié)構(gòu)為用戶總字符數(shù)(1個(gè)字節(jié))、用戶當(dāng)前字符數(shù)(1個(gè)字節(jié))及最多254個(gè)用戶字符(每個(gè)字符占1個(gè)字節(jié))。2.定義字符串在執(zhí)行任何字符串指令之前,首先應(yīng)定義字符串變量。字符串變量只能定義在程序塊的接口區(qū)或全局?jǐn)?shù)據(jù)塊中,不能定義在變量表中,且總字符數(shù)必須大于0且小于255。字符串?dāng)?shù)據(jù)類型的詳細(xì)介紹可參考3.3.2節(jié)。155.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令S7-1200PLC支持的字符串轉(zhuǎn)換指令如下表所示。165.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令字符串轉(zhuǎn)換指令S_CONV:使用字符串轉(zhuǎn)換指令S_CONV,可以將輸入的數(shù)字字符串轉(zhuǎn)換為對(duì)應(yīng)的數(shù)值,或者將數(shù)值轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字字符串。該指令沒有輸出格式選項(xiàng),比STRG_VAL指令和VAL_STRG指令簡(jiǎn)單,但靈活性較差。175.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令字符串轉(zhuǎn)換指令S_CONV:(1)將字符串轉(zhuǎn)換成數(shù)值輸入端IN的數(shù)據(jù)類型為字符Char或字符串String,輸出端OUT的數(shù)據(jù)類型為所有的整數(shù)或浮點(diǎn)數(shù)格式。允許轉(zhuǎn)換的字符為數(shù)字0~9、正負(fù)號(hào)和小數(shù)點(diǎn)對(duì)應(yīng)的ASCII字符,轉(zhuǎn)換后的數(shù)值存放在OUT指定的地址中。如果轉(zhuǎn)換后的數(shù)值超出OUT對(duì)應(yīng)數(shù)據(jù)類型允許的范圍,則輸出OUT和ENO為0。注意:輸入數(shù)字字符串?dāng)?shù)據(jù)時(shí),應(yīng)符合以下規(guī)范:①

對(duì)于數(shù)字字符串中的'.',轉(zhuǎn)換后認(rèn)為是小數(shù)點(diǎn);②

對(duì)于數(shù)字字符串中的數(shù)字,如果每隔3位加分隔符',',轉(zhuǎn)換后會(huì)自動(dòng)忽略;③

對(duì)于數(shù)字字符串中的前導(dǎo)空格,轉(zhuǎn)換后會(huì)自動(dòng)忽略;④

只支持定點(diǎn)表示法,字符'e'和'E'不會(huì)被識(shí)別為指數(shù)表示法。185.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令字符串轉(zhuǎn)換指令S_CONV:(2)將數(shù)值轉(zhuǎn)換成字符串輸入端IN的數(shù)據(jù)類型為所有的整數(shù)或浮點(diǎn)數(shù)格式,輸出端OUT的數(shù)據(jù)類型為字符串String。轉(zhuǎn)換前,應(yīng)先定義OUT對(duì)應(yīng)的字符串變量,首字節(jié)中的最大字符數(shù)(用戶總字符數(shù))應(yīng)大于等于轉(zhuǎn)換后的最大預(yù)計(jì)字符數(shù)。注意:輸出數(shù)字字符串?dāng)?shù)據(jù)時(shí),應(yīng)符合以下規(guī)范:①

輸入數(shù)值如果是正數(shù),對(duì)應(yīng)轉(zhuǎn)換后的字符串不含符號(hào)位;②

輸入數(shù)值為Real數(shù)據(jù)類型時(shí),對(duì)應(yīng)轉(zhuǎn)換后的字符串用'.'表示小數(shù)點(diǎn);③

只支持定點(diǎn)表示法,不適用指數(shù)計(jì)數(shù)法。195.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令字符串轉(zhuǎn)換指令S_CONV:(3)復(fù)制字符串使用字符串轉(zhuǎn)換指令S_CONV時(shí),如果輸入、輸出均為String類型,輸入IN對(duì)應(yīng)的字符串將復(fù)制到輸出OUT對(duì)應(yīng)的地址。如果輸入IN字符串的實(shí)際長(zhǎng)度超出輸出OUT允許的最大長(zhǎng)度,只復(fù)制OUT允許的字符串長(zhǎng)度,并且使能輸出ENO為0。205.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令字符串轉(zhuǎn)換指令S_CONV舉例

:圖中,I0.0閉合后,將Int類型數(shù)據(jù)-1234轉(zhuǎn)換為字符串類型數(shù)據(jù)'-1234',存放在局部變量String中;再將字符串'123.45'經(jīng)過截尾取整后轉(zhuǎn)換為DInt類型數(shù)據(jù)123,存放在MD0中。215.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令字符串轉(zhuǎn)數(shù)值指令STRG_VAL:使用字符串轉(zhuǎn)數(shù)值指令STRG_VAL,可以將輸入端IN的數(shù)值字符串轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)或浮點(diǎn)數(shù),并將結(jié)果存放在OUT對(duì)應(yīng)的地址中。輸入端EN有效時(shí),從輸入IN對(duì)應(yīng)字符串的第P個(gè)字符開始轉(zhuǎn)換,直到字符串轉(zhuǎn)換結(jié)束為止。該指令允許的合法字符有'+'、'-'、'.'、','、'e'、'E'或'0'到'9',轉(zhuǎn)換中如遇到非法字符,停止轉(zhuǎn)換。若轉(zhuǎn)換后的數(shù)值超過OUT數(shù)據(jù)類型允許的范圍,則輸出OUT和ENO為0。輸入?yún)?shù)P用于指定要轉(zhuǎn)換字符串?dāng)?shù)據(jù)的第一個(gè)字符的編號(hào),P為1代表從第一個(gè)字符開始轉(zhuǎn)換。P的數(shù)據(jù)類型為UInt,P的值為0或者大于字符串最大長(zhǎng)度時(shí)無效。轉(zhuǎn)換結(jié)束后,將終止位置的下一個(gè)字符編號(hào)存放在參數(shù)P中。輸入?yún)?shù)FORMAT用于指定字符串轉(zhuǎn)換時(shí)的格式,數(shù)據(jù)類型為Word。輸出參數(shù)OUT用于存放字符串轉(zhuǎn)換結(jié)果,數(shù)據(jù)類型為所有的整數(shù)和浮點(diǎn)數(shù)。225.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令數(shù)值轉(zhuǎn)字符串指令VAL_STRG:使用數(shù)值轉(zhuǎn)字符串指令VAL_STRG,可以將輸入端IN的數(shù)值(整數(shù)或浮點(diǎn)數(shù)類型)轉(zhuǎn)換為對(duì)應(yīng)的字符串,并將結(jié)果存放在OUT對(duì)應(yīng)的地址中。執(zhí)行轉(zhuǎn)換前,輸出OUT必須為有效字符串變量;轉(zhuǎn)換后的字符串將取代OUT中初始字符串變量的一部分(從字符編號(hào)P開始的SIZE個(gè)字符位數(shù))。輸入?yún)?shù)P和SIZE應(yīng)在OUT中初始字符串變量允許的最大字符數(shù)范圍內(nèi),如果參數(shù)P大于OUT中初始字符串的當(dāng)前大小,則會(huì)添加空格,一直到位置P,并將轉(zhuǎn)換結(jié)果附加到字符串末尾。如果達(dá)到了OUT允許的最大字符串長(zhǎng)度,則轉(zhuǎn)換結(jié)束。235.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令數(shù)值轉(zhuǎn)字符串指令VAL_STRG:VAL_STRG指令可以實(shí)現(xiàn)將動(dòng)態(tài)數(shù)值嵌入到固定文本字符串中,如:可以將表示溫度的動(dòng)態(tài)數(shù)值80放入字符串'Temperature=80℃'中,從而實(shí)現(xiàn)動(dòng)態(tài)顯示。該指令允許轉(zhuǎn)換的合法字符有'+'、'-'、'.'、','、'e'、'E'或'0'到'9',轉(zhuǎn)換中如遇到非法字符,停止轉(zhuǎn)換。輸入?yún)?shù)FORMAT用于指定字符串轉(zhuǎn)換時(shí)的格式,數(shù)據(jù)類型為Word。輸入?yún)?shù)RPEC用于指定轉(zhuǎn)換浮點(diǎn)數(shù)時(shí)保留的小數(shù)位數(shù),Real數(shù)值支持的最高精度為7位有效數(shù)字。如果要轉(zhuǎn)換的數(shù)值為整數(shù),可使用PREC參數(shù)指定放置小數(shù)點(diǎn)的位置,如果需轉(zhuǎn)換的數(shù)值為1234和PREC為1時(shí),轉(zhuǎn)換結(jié)果為字符'123.4'。245.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.字符串轉(zhuǎn)換指令舉例

:運(yùn)行前,先將MW2賦值為2、MW4賦值為5678、MW6賦值為6,將初始字符串'Tem=℃'寫入在全局?jǐn)?shù)據(jù)塊DB5中事先定義好的字符串變量String(指針地址P#DB5.DBX0.0)中。I0.0閉合后,將MW2賦值為2,表示從字符串'123.45'的第2個(gè)字符開始轉(zhuǎn)換,轉(zhuǎn)換后的結(jié)果23.45存放在MD10中。另外,將MW4賦值為5678,代表需要轉(zhuǎn)換成字符串的數(shù)值;將'Tem=℃'寫入P#DB5.DBX0.0,代表初始字符串;將MW6賦值為6、SIZE輸入為5,代表將初始字符串中第6個(gè)字符編號(hào)開始的5個(gè)字符地址用以存放轉(zhuǎn)換后的字符串;PREC輸入為2,代表在需要轉(zhuǎn)換的數(shù)值中第2位放置小數(shù)點(diǎn)(從右向左第2位前),轉(zhuǎn)換后P#DB5.DBX0.0的監(jiān)控?cái)?shù)據(jù)為'Tem=56.78℃'。255.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.字符串操作指令265.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.字符串操作指令獲取字符串長(zhǎng)度LEN:使用獲取字符串長(zhǎng)度指令LEN,可以獲取輸入端IN的字符串長(zhǎng)度,結(jié)果存放在OUT對(duì)應(yīng)的地址中,輸入IN的數(shù)據(jù)類型為String,輸出OUT的數(shù)據(jù)類型可以為Int、DInt、Real和LReal??兆址拈L(zhǎng)度為0。合并字符串CONCAT:使用合并字符串指令CONCAT,可以將輸入端IN1和IN2的兩個(gè)字符串合并起來(IN1放左邊、IN2放右邊),結(jié)果存放在OUT對(duì)應(yīng)的地址中。如果合并后的總字符串長(zhǎng)度大于OUT允許的最大長(zhǎng)度,則將結(jié)果限制在最大長(zhǎng)度,并將ENO設(shè)置為0。275.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.字符串操作指令獲取左側(cè)子字符串LEFT:使用獲取左側(cè)子字符串指令LEFT,可以獲取輸入端IN對(duì)應(yīng)字符串的前L個(gè)字符,結(jié)果存放在OUT對(duì)應(yīng)的地址中,L的數(shù)據(jù)類型可以為Byte、Int、SInt和USInt。如果L值大于IN對(duì)應(yīng)字符串的長(zhǎng)度,則OUT返回輸入的字符串;如果L為負(fù)值或零,或者輸入的是空字符串,則返回空字符串,并將ENO置為0。獲取右側(cè)子字符串RIGHT:使用獲取右側(cè)子字符串指令RIGHT,可以獲取輸入端IN對(duì)應(yīng)字符串的最后L個(gè)字符,結(jié)果存放在OUT對(duì)應(yīng)的地址中。使用方法與獲取左側(cè)子字符串指令LEFT相似。285.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.字符串操作指令獲取中間子字符串MID:可以獲取輸入端IN對(duì)應(yīng)字符串從第P個(gè)字符開始的L個(gè)字符,結(jié)果存放在OUT對(duì)應(yīng)的地址中,L和P的數(shù)據(jù)類型可以為Byte、Int、SInt和USInt。刪除子字符串DELETE:可以刪除輸入端IN對(duì)應(yīng)字符串從第P個(gè)字符開始的L個(gè)字符,結(jié)果存放在OUT對(duì)應(yīng)的地址中,L和P的數(shù)據(jù)類型可以為Byte、Int、SInt和USInt。295.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.字符串操作指令插入子字符串INSERT:可以將輸入端IN2對(duì)應(yīng)的字符串插入到IN1對(duì)應(yīng)字符串的第P個(gè)字符之后,結(jié)果存放在OUT對(duì)應(yīng)的地址中,P的數(shù)據(jù)類型可以為Byte、Int、SInt和USInt。替換子字符串REPLACE:可以將輸入端IN2對(duì)應(yīng)的字符串替換掉IN1對(duì)應(yīng)字符串中從第P個(gè)字符開始的L個(gè)字符,結(jié)果存放在OUT對(duì)應(yīng)的地址中,L和P的數(shù)據(jù)類型可以為Byte、Int、SInt和USInt。305.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.字符串操作指令查找子字符串FIND:

使用查找子字符串指令FIND,可以在輸入端IN1對(duì)應(yīng)的字符串中從左側(cè)開始查找IN2字符串,將IN2字符串在IN1字符串中的起始字符編號(hào)存放在OUT對(duì)應(yīng)的地址中,如果在IN1字符串中未找到IN2字符串,輸出OUT為0,OUT的數(shù)據(jù)類型為Int。315.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.字符串操作指令舉例:圖中,I0.0閉合后,將字符串'ABCD'的長(zhǎng)度4存放在MW0中,然后將字符串'ABCD'和'abc'合并為'ABCDabc'存放在局部變量String1中,最后將字符串'ABCD'取左邊2個(gè)字符'AB'存放在局部變量String2中。325.2字符串和字符指令電氣控制及S7-1200PLC應(yīng)用技術(shù)擴(kuò)展程序控制指令包括重置循環(huán)監(jiān)視時(shí)間、停止運(yùn)行、查詢錯(cuò)誤信息、查詢錯(cuò)誤ID等,如表所示。該部分內(nèi)容在4.3.2節(jié)已做過簡(jiǎn)單介紹,在此進(jìn)一步擴(kuò)展。335.3程序控制指令電氣控制及S7-1200PLC應(yīng)用技術(shù)1.重置循環(huán)監(jiān)視時(shí)間指令RE_TRIGR用于在單個(gè)掃描循環(huán)期間重新啟動(dòng)掃描循環(huán)定時(shí)器。每次循環(huán)它都被自動(dòng)復(fù)位一次,正常工作時(shí),最大循環(huán)周期小于監(jiān)控定時(shí)器的時(shí)間設(shè)定值,它不會(huì)起作用。反之,執(zhí)行一次RE_TRIGR指令,使允許的最大掃描周期延長(zhǎng)一個(gè)最大循環(huán)時(shí)間段。CPU只允許將RE_TRIGR指令用于程序循環(huán)。式下,用戶程序停止執(zhí)行而PLC系統(tǒng)通信和系統(tǒng)診斷仍繼續(xù)執(zhí)行。345.3程序控制指令電氣控制及S7-1200PLC應(yīng)用技術(shù)1.重置循環(huán)監(jiān)視時(shí)間指令RE_TRIGR設(shè)置PLC最大循環(huán)時(shí)間利用設(shè)備配置中的CPU屬性可以在PLC設(shè)備配置中為“循環(huán)時(shí)間”設(shè)置組態(tài)最大掃描周期。允許的最大循環(huán)時(shí)間默認(rèn)值為150ms,最小值為1ms。循環(huán)監(jiān)視時(shí)間超時(shí)如果最大掃描循環(huán)定時(shí)器在掃描循環(huán)完成前達(dá)到預(yù)置時(shí)間,則會(huì)生成錯(cuò)誤。如果用戶程序中包含錯(cuò)誤處理代碼塊OB80,則PLC將執(zhí)行OB80,用戶可以在其中添加程序邏輯以創(chuàng)建具體響應(yīng)。如果不包含OB80,則忽略第一個(gè)超時(shí)條件。如果在同一程序掃描中第二次發(fā)生最大掃描時(shí)間超時(shí)(2倍的最大循環(huán)時(shí)間值),則觸發(fā)錯(cuò)誤導(dǎo)致PLC切換到STOP模式。在STOP模式下,用戶程序停止執(zhí)行而PLC系統(tǒng)通信和系統(tǒng)診斷仍繼續(xù)執(zhí)行。355.3程序控制指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.停止運(yùn)行指令STP停止運(yùn)行指令STP,用于將PLC置于STOP模式,CPU從RUN切換到STOP后,CPU將保留過程映像,并根據(jù)組態(tài)寫入相應(yīng)的數(shù)字和模擬輸出值。如果輸入端EN為1,PLC處于STOP模式時(shí),將停止程序執(zhí)行及停止過程映像的物理更新。365.3程序控制指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.查詢錯(cuò)誤信息指令GET_ERROR使用查詢錯(cuò)誤信息指令GET_ERROR,可以獲取本地錯(cuò)誤信息,并用輸出參數(shù)ERROR顯示程序塊內(nèi)發(fā)生的錯(cuò)誤信息。如果塊內(nèi)存在多處錯(cuò)誤,更正了第一個(gè)錯(cuò)誤后,該指令輸出下一個(gè)錯(cuò)誤的錯(cuò)誤信息。參數(shù)ERROR的數(shù)據(jù)類型為ErrorStruct,可以重命名錯(cuò)誤數(shù)據(jù)結(jié)構(gòu),但不能重命名結(jié)構(gòu)中的成員。ErrorStruct系統(tǒng)數(shù)據(jù)類型的結(jié)構(gòu)如后表所示。375.3程序控制指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.查詢錯(cuò)誤信息指令GET_ERRORErrorStruct系統(tǒng)數(shù)據(jù)類型的結(jié)構(gòu)385.3程序控制指令電氣控制及S7-1200PLC應(yīng)用技術(shù)4.查詢錯(cuò)誤ID指令GET_ERR_ID使用查詢錯(cuò)誤ID指令GET_ERR_ID,可以獲取本地錯(cuò)誤的標(biāo)識(shí)符。如果執(zhí)行程序塊出錯(cuò),且輸入端EN為1,第一個(gè)錯(cuò)誤的ID將保存在輸出端“ID”中,ID的數(shù)據(jù)類型為Word。第一個(gè)錯(cuò)誤消失后,指令輸出下一個(gè)錯(cuò)誤的ID。該指令的錯(cuò)誤代碼如后表所示。395.3程序控制指令電氣控制及S7-1200PLC應(yīng)用技術(shù)4.查詢錯(cuò)誤ID指令GET_ERR_IDGET_ERR_ID指令的錯(cuò)誤代碼405.3程序控制指令電氣控制及S7-1200PLC應(yīng)用技術(shù)1.中斷事件中斷技術(shù)主要用于處理復(fù)雜的控制任務(wù),當(dāng)中斷事件到來后,操作系統(tǒng)將暫停正在執(zhí)行的程序塊,轉(zhuǎn)到相應(yīng)的中斷組織塊(中斷OB)中去處理這些事件,處理結(jié)束后再返回到原程序塊中繼續(xù)執(zhí)行。中斷OB只有在對(duì)應(yīng)的中斷事件到來后才會(huì)被執(zhí)行,不同的中斷OB之間無法相互調(diào)用,也無法通過FB或FC調(diào)用。多個(gè)中斷事件同時(shí)到來時(shí),CPU將按照優(yōu)先級(jí)順序處理需要調(diào)用的中斷OB。不同組織塊對(duì)應(yīng)的啟動(dòng)事件如后表所示。每個(gè)中斷OB的編號(hào)必須唯一且具有有效的定義范圍;中斷事件被分成3個(gè)優(yōu)先組,組內(nèi)各個(gè)中斷事件還具有不同的優(yōu)先級(jí),CPU按照優(yōu)先級(jí)由高到低(編號(hào)越大,優(yōu)先級(jí)越高)的順序處理中斷事件,優(yōu)先級(jí)相同的事件則按照“先來先服務(wù)”的原則去處理。不同的中斷事件均有中斷隊(duì)列和不同的隊(duì)列深度,如果隊(duì)列中的中斷事件個(gè)數(shù)達(dá)到上限,新的中斷事件將因隊(duì)列溢出而被丟失,同時(shí)產(chǎn)生時(shí)間錯(cuò)誤中斷事件。415.4中斷事件和中斷指令電氣控制及S7-1200PLC應(yīng)用技術(shù)1.中斷事件425.4中斷事件和中斷指令電氣控制及S7-1200PLC應(yīng)用技術(shù)1.中斷事件435.4中斷事件和中斷指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.附加中斷和分離中斷指令附加中斷指令A(yù)TTACH:使用附加中斷指令A(yù)TTACH,可以將硬件中斷事件和硬件中斷組織塊進(jìn)行關(guān)聯(lián),主要是為某個(gè)硬件中斷事件分配硬件中斷OB。輸入端OB_NR對(duì)應(yīng)要調(diào)用的硬件中斷OB的符號(hào)名或編號(hào),此硬件中斷OB將被分配給輸入端EVENT指定的硬件中斷事件。如果執(zhí)行ATTACH指令后,發(fā)生了EVENT對(duì)應(yīng)的中斷事件,則會(huì)調(diào)用OB_NR對(duì)應(yīng)的中斷OB并執(zhí)行其程序。輸入端ADD的數(shù)據(jù)類型為Bool,用于定義是否保留OB_NR對(duì)應(yīng)的硬件中斷OB與原有硬件中斷事件之間的聯(lián)系。如果ADD值為0,則ATTACH指令執(zhí)行后,輸入端OB_NR對(duì)應(yīng)的硬件中斷OB將與原有硬件中斷事件切斷聯(lián)系,并與EVENT對(duì)應(yīng)的硬件中斷事件新建聯(lián)系;如果ADD值為1,在保留硬件中斷OB與原有硬件中斷事件聯(lián)系的基礎(chǔ)上,附加與EVENT對(duì)應(yīng)的硬件中斷事件新的聯(lián)系,即同一個(gè)硬件中斷OB分配給多個(gè)硬件中斷事件。445.4中斷事件和中斷指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.附加中斷和分離中斷指令分離中斷指令DETACH:使用分離中斷指令DETACH,可以將硬件中斷事件和硬件中斷組織塊進(jìn)行分離,主要作用是在出現(xiàn)指定硬件中斷事件時(shí)禁止執(zhí)行指定的中斷OB。輸入端OB_NR為硬件中斷OB的符號(hào)名或編號(hào);EVENT是指定硬件中斷事件的編號(hào)。如果指定了EVENT,則僅將該事件與指定的OB_NR分離;當(dāng)前附加到此OB_NR的任何其他事件仍保持附加狀態(tài)。如果未指定EVENT,則分離當(dāng)前連接到OB_NR的所有事件。455.4中斷事件和中斷指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.附加中斷和分離中斷指令硬件中斷事件:S7-1200PLC支持的硬件中斷事件包括數(shù)字量輸入端的上升沿/下降沿事件和高速計(jì)數(shù)器事件兩大類,具體如下:(1)上升沿事件(CPU本機(jī)和信號(hào)板SB上的所有數(shù)字量輸入)。數(shù)字量輸入從OFF切換為ON(出現(xiàn)上升沿)時(shí),會(huì)觸發(fā)上升沿中斷事件。(2)下降沿事件(CPU本機(jī)和信號(hào)板SB上的所有數(shù)字量輸入)。數(shù)字量輸入從ON切換為OFF(出現(xiàn)下降沿)時(shí),會(huì)觸發(fā)下降沿中斷事件。(3)高速計(jì)數(shù)器(HSC)當(dāng)前值等于參考值事件(HSC1~HSC6)。計(jì)數(shù)器的當(dāng)前值達(dá)到設(shè)定值時(shí),會(huì)觸發(fā)該中斷事件。(4)HSC計(jì)數(shù)方向變化事件(HSC1~HSC6)。當(dāng)檢測(cè)到HSC從增大變?yōu)闇p小或從減小變?yōu)樵龃髸r(shí),會(huì)觸發(fā)該中斷事件。(5)HSC外部復(fù)位事件(HSC1~HSC6)。某些HSC模式允許利用數(shù)字量輸入作為外部復(fù)位端,對(duì)HSC的計(jì)數(shù)值清零。當(dāng)復(fù)位端從OFF切換為ON時(shí),,會(huì)觸發(fā)該中斷事件。465.4中斷事件和中斷指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.附加中斷和分離中斷指令硬件中斷使用說明:(1)在使用某個(gè)硬件中斷事件前,需要通過“程序塊”→“添加新塊”→“硬件中斷”來添加對(duì)應(yīng)的硬件OB,如左圖所示。(2)如果需要在硬件配置或程序運(yùn)行期間附加某個(gè)硬件中斷事件,必須先在設(shè)備組態(tài)中啟用該硬件中斷事件,并指定左圖新建的硬件中斷OB40,如中圖所示。(3)在左圖的硬件中斷OB40中編寫控制程序,在中圖的硬件中斷事件“I0.0上升沿”出現(xiàn)后,即可調(diào)用OB40中的程序,如右圖所示。即I0.0出現(xiàn)上升沿時(shí),Q0.0被置位(啟用系統(tǒng)和時(shí)鐘存儲(chǔ)器時(shí),M1.2始終為ON)。475.4中斷事件和中斷指令電氣控制及S7-1200PLC應(yīng)用技術(shù)2.附加中斷和分離中斷指令硬件中斷使用說明:(4)如果需要在程序運(yùn)行期間為OB40附加或分離指定的中斷事件,可利用ATTACH和DETACH指令。圖中,首先建立兩個(gè)硬件中斷OB:OB40和OB41,在設(shè)備組態(tài)中,分別將I0.0上升沿中斷事件和I0.1上升沿中斷事件指定為OB40和OB41。執(zhí)行程序后,如果M10.0閉合,將OB40與I0.0上升沿中斷事件(對(duì)應(yīng)常數(shù)16#C0000108)進(jìn)行分離;在保留OB41與I0.1上升沿中斷事件的基礎(chǔ)上,附加I0.2上升沿中斷事件(對(duì)應(yīng)常數(shù)16#C0020108)。485.4中斷事件和中斷指令電氣控制及S7-1200PLC應(yīng)用技術(shù)3.循環(huán)中斷指令循環(huán)中斷OB使用方法:循環(huán)中斷OB由操作系統(tǒng)按照固定的周期自動(dòng)循環(huán)調(diào)用,適用于模擬量采集和PID運(yùn)算等周期性執(zhí)行的場(chǎng)合。S7-1200PLC支持最多4個(gè)循環(huán)中斷OB,在新建循環(huán)中斷OB時(shí)設(shè)定固定的間隔掃描時(shí)間,如左圖所示;在循環(huán)中斷OB中編寫控制程序,如右圖所示。本圖中,建立周期為500ms的循環(huán)中斷OB30,則輸出Q0.0輸出為通0.5s、斷0.5s的脈沖。495.4中斷事件和中斷指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)3.循環(huán)中斷指令循環(huán)中斷指令:在CPU運(yùn)行期間,可以使用設(shè)置循環(huán)中斷參數(shù)指令SET_CINT重新設(shè)置循環(huán)中斷的間隔掃描時(shí)間、相移時(shí)間;同時(shí)還可以使用查詢循環(huán)中斷參數(shù)指令QRY_CINT指令查詢循環(huán)中斷的狀態(tài)。505.4中斷事件和中斷指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)3.循環(huán)中斷指令指令參數(shù):使用說明:當(dāng)使用多個(gè)循環(huán)周期相同的循環(huán)中斷事件時(shí),需要設(shè)置相位偏移時(shí)間。因?yàn)橥瑫r(shí)調(diào)用的循環(huán)中斷OB存在優(yōu)先級(jí)順序,只有在優(yōu)先級(jí)高的OB處理完成后才會(huì)執(zhí)行優(yōu)先級(jí)低的OB,低優(yōu)先級(jí)OB的執(zhí)行起始時(shí)間會(huì)根據(jù)高優(yōu)先級(jí)OB的處理時(shí)間而隨機(jī)延遲,如果希望以固定周期來調(diào)用低優(yōu)先級(jí)OB,則低優(yōu)先級(jí)OB需要設(shè)置相移時(shí)間,且相移時(shí)間應(yīng)大于高優(yōu)先級(jí)OB的執(zhí)行時(shí)間。除了利用SET_CINT指令修改相位偏移時(shí)間外,也可在新建循環(huán)中斷OB后,在項(xiàng)目樹中右鍵點(diǎn)擊新建的循環(huán)中斷OB塊,屬性→循環(huán)中斷→相移中設(shè)置。515.4中斷事件和中斷指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)4.延時(shí)中斷指令使用啟動(dòng)延時(shí)中斷SRT_DINT,操作系統(tǒng)將在達(dá)到指定延時(shí)時(shí)間后,自動(dòng)調(diào)用指定的延時(shí)中斷OB。使用取消延時(shí)中斷CAN_DINT,操作系統(tǒng)將停止調(diào)用已啟動(dòng)或尚未啟動(dòng)的延時(shí)中斷OB。使用查詢延時(shí)中斷QRY_DINT,還可以查詢延時(shí)中斷OB的執(zhí)行狀態(tài)。S7-1200PLC最多可以組態(tài)4個(gè)延時(shí)中斷事件。525.4中斷事件和中斷指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)4.延時(shí)中斷指令指令參數(shù):使用說明:(1)使用延時(shí)中斷和循環(huán)中斷的總數(shù)量不能超過4個(gè)。(2)延時(shí)時(shí)間范圍為1~60000ms,錯(cuò)誤的延時(shí)時(shí)間將使RET_VAL報(bào)錯(cuò)16#8091。(3)延時(shí)中斷必須通過SRT_DINT指令設(shè)置參數(shù),輸入端EN下降沿時(shí)開始計(jì)時(shí)。(4)多次調(diào)用延時(shí)中斷OB時(shí),調(diào)用時(shí)間間隔必須大于延時(shí)時(shí)間與延時(shí)中斷OB的執(zhí)行時(shí)間之和,否則會(huì)導(dǎo)致時(shí)間錯(cuò)誤。535.4中斷事件和中斷指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)4.延時(shí)中斷指令舉例:圖中,首先建立延時(shí)中斷OB20,執(zhí)行程序后,如果I0.0由1變?yōu)?時(shí),觸發(fā)啟動(dòng)延時(shí)中斷指令,延時(shí)1s后調(diào)用OB20;如果I0.1由0變?yōu)?時(shí),取消調(diào)用的OB20;通過QRY_DINT指令中的MW14變量可以查詢延時(shí)中斷OB20的執(zhí)行狀態(tài)。545.4中斷事件和中斷指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)通信指令包括可自動(dòng)連接/斷開的開放式以太網(wǎng)通信指令、控制通信過程的指令以及點(diǎn)到點(diǎn)指令等。使用通信指令都需要設(shè)置背景數(shù)據(jù)塊。1.可自動(dòng)連接/斷開的開放式以太網(wǎng)通信指令555.5通信指令電氣控制及S7-1200PLC應(yīng)用技術(shù)1.可自動(dòng)連接/斷開的開放式以太網(wǎng)通信指令TSEND_C指令:(1)使用TSEND_C指令可設(shè)置并建立TCP或ISO-on-TCP通信連接。設(shè)置并建立連接后,CPU會(huì)自動(dòng)保持和監(jiān)視該連接。參數(shù)CONNECT中指定的連接描述用于設(shè)置通信連接。要建立連接,輸入端CONT必須設(shè)置為1。連接成功建立后,輸出端DONE在一個(gè)周期內(nèi)為l。若CPU轉(zhuǎn)到STOP模式,將終止現(xiàn)有連接并刪除所設(shè)置的相應(yīng)連接,必須再次執(zhí)行TSEND_C,才能重新設(shè)置并建立該連接。(2)通過現(xiàn)有通信連接發(fā)送數(shù)據(jù)。通過輸入端DATA指定要發(fā)送的區(qū)域,包括要發(fā)送數(shù)據(jù)的地址和長(zhǎng)度。輸入端REQ出現(xiàn)上升沿時(shí)執(zhí)行發(fā)送數(shù)據(jù),輸入端LEN指定發(fā)送數(shù)據(jù)的最大字節(jié)數(shù),發(fā)送完成前不允許編輯要發(fā)送的數(shù)據(jù)。如果發(fā)送數(shù)據(jù)成功執(zhí)行,則輸出端DONE為l。注意:DONE為1時(shí)并不能確認(rèn)通信伙伴已讀取所發(fā)送的數(shù)據(jù)。(3)終止通信連接。輸入端CONT設(shè)置為0時(shí),將終止通信連接。565.5通信指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.可自動(dòng)連接/斷開的開放式以太網(wǎng)通信指令TRCV_C指令:(1)使用TRCV_C指令可設(shè)置并建立TCP或ISO-on-TCP通信連接。設(shè)置并建立連接后,CPU會(huì)自動(dòng)保持和監(jiān)視該連接。參數(shù)CONNECT中指定的連接描述用于設(shè)置通信連接。要建立連接,輸入端CONT必須設(shè)置為1。連接成功建立后,輸出端DONE在一個(gè)周期內(nèi)為1。若CPU轉(zhuǎn)到STOP模式,將終止現(xiàn)有連接并刪除所設(shè)置的相應(yīng)連接。必須再次執(zhí)行TRCV_C,才能重新設(shè)置并建立該連接。(2)通過現(xiàn)有通信連接接收數(shù)據(jù)。如果輸入端EN_R為1,則啟用數(shù)據(jù)接收,接收到的數(shù)據(jù)將輸入到接收區(qū)中。根據(jù)所用的協(xié)議選項(xiàng),通過輸入端LEN指定接收區(qū)長(zhǎng)度(如果LEN≠0),或通過輸入端DATA的長(zhǎng)度信息來指定(如果LEN=0)。成功接收數(shù)據(jù)后,輸出端DONE為1。如果數(shù)據(jù)傳送過程中出錯(cuò),輸出端DONE為0。(3)終止通信連接。輸入端CONT設(shè)置為0時(shí),將終止通信連接。575.5通信指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.控制通信過程的指令585.5通信指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.控制通信過程的指令595.5通信指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)3.點(diǎn)對(duì)點(diǎn)指令605.5通信指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)3.點(diǎn)對(duì)點(diǎn)指令615.5通信指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.高速脈沖輸出高速脈沖輸出功能:S7-1200PLC可以通過特定的數(shù)字量輸出端子輸出高速脈沖序列,用于驅(qū)動(dòng)伺服電機(jī)等負(fù)載實(shí)現(xiàn)精確控制,該方式廣泛應(yīng)用在運(yùn)動(dòng)控制中。高速脈沖輸出有兩種方式:PWM(寬度可調(diào)的脈沖輸出)和PTO(脈沖序列輸出)。PWM可以提供一串周期固定、脈寬(占空比)可調(diào)的脈沖輸出,PTO可以提供一串占空比固定50%、周期可調(diào)的脈沖輸出,PTO由運(yùn)動(dòng)控制指令使用??蓪⒚總€(gè)脈沖發(fā)生器指定為PWM或PTO,但不能同時(shí)指定為PWM和PTO。每個(gè)CPU最多可組態(tài)4路PTO/PWM發(fā)生器,可使用CPU本機(jī)或信號(hào)板中的數(shù)字量輸出端子輸出PTO或PWM脈沖。PTO輸出占用2個(gè)輸出點(diǎn)(脈沖和方向);PWM脈沖占用1個(gè)輸出點(diǎn)(脈沖),另一個(gè)未用的輸出點(diǎn)可用作其他功能。被組態(tài)為PTO/PWM的輸出點(diǎn)不能再作為普通端子使用。625.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.高速脈沖輸出高速脈沖輸出功能:PTO/PWM默認(rèn)組態(tài)的輸出地址如下表所示,實(shí)際地址可以根據(jù)需要進(jìn)行修改。635.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.高速脈沖輸出高速脈沖輸出指令:645.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.高速脈沖輸出高速脈沖輸出組態(tài):使用高速脈沖輸出功能時(shí),首先需要對(duì)PTO/PWM進(jìn)行設(shè)備組態(tài)。勾選“啟用該脈沖發(fā)生器”,選擇修改名稱、信號(hào)類型(PTO或PWM)、輸出源(所集成CPU輸出或信號(hào)板輸出)、時(shí)基(毫秒或微秒)、循環(huán)時(shí)間、初始脈沖寬度、脈沖輸出點(diǎn)等信息。組態(tài)完成的脈沖發(fā)生器,可用作CTRL_PWM指令的PWM參數(shù)或CTRL_PTO指令的PTO參數(shù)。注意:脈沖發(fā)生器的輸出脈沖受到最大頻率的限制,對(duì)于CPU本機(jī)中的數(shù)字量輸出為100kHz.對(duì)于信號(hào)板的數(shù)字量輸出為20kHz。但是當(dāng)組態(tài)了最大速度或頻率超出此硬件限制時(shí),TIA軟件并不提醒用戶,這可能導(dǎo)致應(yīng)用出現(xiàn)問題,因此應(yīng)始終確保不會(huì)超出硬件的最大脈沖頻率。655.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.高速脈沖輸出PWM的輸出地址:組態(tài)為PWM輸出時(shí),需要定義輸出地址,包括起始地址和結(jié)束地址。CPU每次由STOP進(jìn)入RUN模式時(shí),將組態(tài)的初始脈沖寬度寫入到該Q字地址中,以更改脈沖寬度。在運(yùn)行期間更改該字地址會(huì)引起脈沖寬度的變化。對(duì)于PWM1~PWM4,默認(rèn)的輸出地址分別為QW1000、QW1002、QW1004及QW1006。CTRL_PWM指令的參數(shù)說明如下表所示。665.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器高速計(jì)數(shù)器與普通計(jì)數(shù)器的區(qū)別:實(shí)際控制系統(tǒng)中,經(jīng)常會(huì)遇到需要檢測(cè)外部高頻脈沖信號(hào)的場(chǎng)合,例如計(jì)算電機(jī)轉(zhuǎn)速等。S7-1200PLC中,普通計(jì)數(shù)器的計(jì)數(shù)過程與掃描工作方式有關(guān),CPU通過每一個(gè)掃描周期讀取一次被測(cè)信號(hào)的方法來捕捉被測(cè)信號(hào)的上升沿,普通計(jì)數(shù)器的最高計(jì)數(shù)頻率一般僅為幾十赫茲,當(dāng)被測(cè)信號(hào)的頻率較高時(shí)將會(huì)丟失計(jì)數(shù)脈沖,因此普通計(jì)數(shù)器受限于掃描周期的影響,無法測(cè)量頻率較高的脈沖信號(hào)。而高速計(jì)數(shù)器(HSC)可以對(duì)普通計(jì)數(shù)器無能為力的高速事件進(jìn)行計(jì)數(shù)。675.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器高速計(jì)數(shù)器指令:685.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器高速計(jì)數(shù)器使用的輸入點(diǎn):S7-1200PLC提供了最多6個(gè)高速計(jì)數(shù)器(HSC1~HSC6),其獨(dú)立于CPU的掃描周期進(jìn)行計(jì)算。系統(tǒng)手冊(cè)給出了各種型號(hào)的CPU的不同高速計(jì)數(shù)器分別在單相、雙相和A/B相輸入時(shí)默認(rèn)的數(shù)字量輸入點(diǎn),以及各輸入點(diǎn)在不同的計(jì)數(shù)模式的最高計(jì)數(shù)頻率。其中可測(cè)量的單相脈沖頻率最高為100kHz,雙相或A/B相頻率最高為80kHz。HSC1~HSC6的實(shí)際計(jì)數(shù)值的數(shù)據(jù)類型為DInt,默認(rèn)的地址為ID1000~ID1020,可以在組態(tài)時(shí)修改地址。高速計(jì)數(shù)器可用于連接增量型旋轉(zhuǎn)編碼器,通過對(duì)硬件組態(tài)和調(diào)用相關(guān)指令塊來使用此功能。695.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器高速計(jì)數(shù)器的工作模式:S7-1200高速計(jì)數(shù)器定義的工作模式有以下5種:?jiǎn)蜗嘤?jì)數(shù)器,外部方向控制;單相計(jì)數(shù)器,內(nèi)部方向控制;雙相增/減計(jì)數(shù)器,雙脈沖輸入;A/B相正交脈沖輸入;監(jiān)控PTO輸出。高速計(jì)數(shù)器的工作模式和硬件輸入如下表所示。705.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器頻率測(cè)量功能:S7-1200PLC除了提供技術(shù)功能外,還提供了頻率測(cè)量功能,有3種不同的頻率測(cè)量周期:1.0s、0.1s和0.01s。頻率測(cè)量周期是這樣定義的:計(jì)算并返回新的頻率值的時(shí)間間隔。頻率測(cè)量周期決定了多長(zhǎng)時(shí)間計(jì)算和報(bào)告一次新的頻率值。返回的頻率值為上一個(gè)測(cè)量周期中所有測(cè)量值的平均值,無論測(cè)量周期如何選擇,測(cè)量出的頻率值總是以Hz(每秒脈沖數(shù))為單位。715.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器應(yīng)用實(shí)例:任務(wù)要求:利用安裝在電機(jī)軸端的編碼器,測(cè)量并計(jì)算電機(jī)實(shí)際轉(zhuǎn)速。1)任務(wù)分析(1)選用的編碼器分辨率為1024脈沖/轉(zhuǎn)。(2)要求將編碼器信號(hào)A相脈沖和B相脈沖接入到高速計(jì)數(shù)脈沖輸入端口。(3)配置高速計(jì)數(shù)器參數(shù)。(4)用中斷程序計(jì)算測(cè)量的脈沖數(shù),計(jì)算得到電機(jī)的旋轉(zhuǎn)速度。725.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器應(yīng)用實(shí)例:2)I/O分配表通過對(duì)上述任務(wù)分析可知,本系統(tǒng)的開關(guān)量I/O點(diǎn)為編碼器A相脈沖和B相脈沖輸入信號(hào),具體I/O分配如下表所示。735.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器應(yīng)用實(shí)例:3)組態(tài)高速計(jì)數(shù)器(1)項(xiàng)目樹中,雙擊設(shè)備組態(tài),點(diǎn)擊PLC屬性,在常規(guī)中選擇HSC1,勾選啟用該高速計(jì)數(shù)器,如左圖所示。(2)在功能參數(shù)中設(shè)置參數(shù):“計(jì)數(shù)類型”選擇為“計(jì)數(shù)”、“工作模式”選擇為“AB計(jì)數(shù)器四倍頻”、“初始計(jì)數(shù)方向”選擇為“增計(jì)數(shù)”,如右圖所示。745.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器應(yīng)用實(shí)例:3)組態(tài)高速計(jì)數(shù)器(3)在硬件輸入中設(shè)置參數(shù):“時(shí)鐘發(fā)生器A的輸入”選擇為“I0.0”,“時(shí)鐘發(fā)生器B的輸入”為“I0.1”,如左圖所示。(4)在輸入地址中設(shè)置參數(shù):設(shè)置計(jì)數(shù)器存儲(chǔ)地址的起始地址為IB1000,結(jié)束地址為IB1003,即讀取的計(jì)數(shù)器值存放在ID1000中,如右圖所示。755.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器應(yīng)用實(shí)例:3)組態(tài)高速計(jì)數(shù)器(5)項(xiàng)目樹中,添加循環(huán)中斷組織塊OB30,循環(huán)時(shí)間為100ms,如左圖所示。(6)在OB30程序塊中添加程序,如右圖所示。OB30每100ms自動(dòng)調(diào)用一次,首先讀取100ms內(nèi)高速計(jì)數(shù)器的計(jì)數(shù)當(dāng)前值(ID1000)并存放在MD50中。然后調(diào)用高速計(jì)數(shù)器指令CTRL_HSC,將輸入端中的CV設(shè)置為1、NEW_CV設(shè)置為0,用來對(duì)高速計(jì)數(shù)器當(dāng)前值清零,為下一個(gè)100ms周期重新計(jì)數(shù)做好準(zhǔn)備。765.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.高速計(jì)數(shù)器應(yīng)用實(shí)例:3)組態(tài)高速計(jì)數(shù)器(7)計(jì)算電機(jī)轉(zhuǎn)速在主程序OB1或循環(huán)中斷OB30中,編寫電機(jī)轉(zhuǎn)速計(jì)算程序,如圖所示。利用M法測(cè)速公式計(jì)算電機(jī)轉(zhuǎn)速,實(shí)際轉(zhuǎn)速數(shù)值為(MD50×4×60)/(1024×0.1)。775.6高速脈沖輸出和高速計(jì)數(shù)器

電氣控制及S7-1200PLC應(yīng)用技術(shù)S7-1200PLC采用軸的概念進(jìn)行運(yùn)動(dòng)控制,通過對(duì)軸參數(shù)的組態(tài)(硬件接口、驅(qū)動(dòng)器信號(hào)、機(jī)械特性、位置限制及動(dòng)態(tài)參數(shù)等),并與對(duì)應(yīng)的標(biāo)準(zhǔn)指令配合使用,可以實(shí)現(xiàn)絕對(duì)位置、相對(duì)位置、點(diǎn)動(dòng)、轉(zhuǎn)速控制及自動(dòng)尋找參考點(diǎn)等功能。S7-1200PLC將脈沖和方向信號(hào)輸出值伺服驅(qū)動(dòng)器,伺服驅(qū)動(dòng)器再將從CPU輸入的給定值經(jīng)過閉環(huán)處理后輸出至伺服電動(dòng)機(jī),控制伺服電動(dòng)機(jī)加/減速和移動(dòng)到指定位置。伺服電動(dòng)機(jī)的軸編碼器信號(hào)輸入至伺服驅(qū)動(dòng)器形成閉環(huán)控制,用于計(jì)算速度與當(dāng)前值,而S7-1200內(nèi)部的高速計(jì)數(shù)器則測(cè)量CPU上的脈沖輸出,計(jì)算轉(zhuǎn)速與位置,但該數(shù)值并不是電機(jī)軸編碼器所反饋的實(shí)際速度和位置。S7-1200PLC提供了運(yùn)行中修改速度和位置的功能,可以使運(yùn)動(dòng)控制系統(tǒng)在停止的情況下,實(shí)時(shí)改變目標(biāo)速度與位置。785.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)S7-1200PLC運(yùn)動(dòng)控制根據(jù)連接驅(qū)動(dòng)方式不同,分成三種控制方式:(1)PROFIdrive:S7-1200PLC通過基于PROFIBUS/PROFINET的PROFIdrive方式與支持PROFIdrive的驅(qū)動(dòng)器連接,進(jìn)行運(yùn)動(dòng)控制。(2)PTO:S7-1200PLC通過發(fā)送PTO脈沖的方式控制驅(qū)動(dòng)器,可以是脈沖+方向、A/B正交、也可以是正/反脈沖的方式。(3)模擬量:S7-1200PLC通過輸出模擬量來控制驅(qū)動(dòng)器。PTO控制方式是所有版本的S7-1200CPU都支持的控制方式,該控制方式屬于開環(huán)控制,由CPU向軸驅(qū)動(dòng)器發(fā)送高速脈沖以及方向信號(hào)來控制軸的運(yùn)行。以下主要介紹PTO控制方式下的組態(tài)過程。795.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)啟用脈沖發(fā)生器:(1)項(xiàng)目樹中,雙擊設(shè)備組態(tài)→屬性→常規(guī)→脈沖發(fā)生器→選中PTO1/PWM1→勾選“啟動(dòng)該脈沖發(fā)生器”,可以為其修改名稱,也可采用默認(rèn)名稱。(2)參數(shù)分配中,選擇信號(hào)類型為常見的“PTO(脈沖A和方向B)”。(3)硬件輸出中,選擇脈沖輸出為“Q0.0”,啟用方向輸出,方向輸出為“Q0.1”。805.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)添加軸工藝對(duì)象:項(xiàng)目樹中,點(diǎn)擊工藝對(duì)象→插入新對(duì)象→運(yùn)動(dòng)控制→TO_PositioningAxis,名稱和背景DB編號(hào)可以選擇為默認(rèn),點(diǎn)擊確認(rèn)即可添加一個(gè)軸工藝對(duì)象,如下圖所示。815.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:常規(guī)參數(shù)(1)常規(guī)參數(shù)中,軸名稱可根據(jù)需要修改;驅(qū)動(dòng)器選擇為PTO;測(cè)量單位可選擇為脈沖、角度和距離(毫米mm、米m、英寸in和英尺ft)三種類型。注意:測(cè)量單位是很重要的參數(shù),后續(xù)軸的參數(shù)和指令中的參數(shù)都是基于該單位進(jìn)行設(shè)定的。如果是線性工作臺(tái),一般都選擇線性距離類型;如果是旋轉(zhuǎn)工作臺(tái),可以選擇角度類型;任何情況下,也可直接選擇脈沖類型,如下圖所示。825.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:驅(qū)動(dòng)器參數(shù)(2)驅(qū)動(dòng)器參數(shù)用來對(duì)脈沖輸出點(diǎn)等參數(shù)進(jìn)行配置,如下圖所示。①

脈沖發(fā)生器選擇為啟用的脈沖發(fā)生器PTO,信號(hào)類型、脈沖輸出和方向輸出等參數(shù)自動(dòng)更新為已設(shè)置的參數(shù),如需修改,也可點(diǎn)擊設(shè)備組態(tài)返回修改。②

使能輸出參數(shù)用于為外部步進(jìn)或伺服驅(qū)動(dòng)器提供一個(gè)通電的使能信號(hào),可以組態(tài)一個(gè)DO點(diǎn)作為外部驅(qū)動(dòng)器的使能信號(hào),也可以不配置。③

就緒輸入?yún)?shù)用于接收驅(qū)動(dòng)器準(zhǔn)備就緒信號(hào),可以組態(tài)一個(gè)DI點(diǎn)作為輸入PLC的就緒信號(hào),如果外部驅(qū)動(dòng)器不包含此類型的接口,可以直接將該參數(shù)設(shè)置為TRUE。835.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:機(jī)械參數(shù)(3)機(jī)械參數(shù)用來設(shè)置軸脈沖數(shù)與軸移動(dòng)距離參數(shù)的對(duì)應(yīng)關(guān)系,如下圖所示。①

電機(jī)每轉(zhuǎn)的脈沖數(shù)是非常重要的參數(shù),表示電機(jī)旋轉(zhuǎn)一圈需要接收多少個(gè)脈沖,該參數(shù)需要根據(jù)被控電機(jī)的實(shí)際參數(shù)進(jìn)行設(shè)置。②

電機(jī)每轉(zhuǎn)的負(fù)載位移也是重要參數(shù),表示電機(jī)每旋轉(zhuǎn)一圈對(duì)應(yīng)機(jī)械裝置移動(dòng)的距離。③所允許的旋轉(zhuǎn)方向有三種類型:雙向、正方向和負(fù)方向,表示電機(jī)允許的旋轉(zhuǎn)方向。④反向信號(hào):如果使能反向信號(hào),當(dāng)PLC進(jìn)行正向控制電機(jī)時(shí),電機(jī)實(shí)際反向旋轉(zhuǎn)。845.7運(yùn)動(dòng)控制電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:位置限制參數(shù)(4)位置限制參數(shù)用來設(shè)置軟件和硬件限位開關(guān),進(jìn)而保證軸在工作臺(tái)的有效范圍內(nèi)運(yùn)行,當(dāng)軸超過了限位開關(guān)(無論是軟限位還是硬限位),軸均停止運(yùn)行并報(bào)錯(cuò)。軟限位的范圍應(yīng)小于硬件限位,硬件限位的位置應(yīng)在工作臺(tái)有效的機(jī)械范圍內(nèi),如下圖所示。①啟動(dòng)硬限位和軟限位開關(guān)分別用于激活硬件和軟件限位功能。②

硬件上/下限位開關(guān)輸入分別用于設(shè)置硬件上/下限位開關(guān)輸入點(diǎn),可以是CPU本機(jī)或信號(hào)板上的DI點(diǎn)。③選擇電平用于設(shè)置硬件上/下限位開關(guān)輸入點(diǎn)的有效電平,一般為低電平有效。④軟限位開關(guān)上/下限位置用于設(shè)置軟件位置點(diǎn)。注意:位置限制需要根據(jù)實(shí)際情況來設(shè)置,該組參數(shù)不是必須使能的。855.7運(yùn)動(dòng)控制電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:動(dòng)態(tài)參數(shù)(5)動(dòng)態(tài)參數(shù)包括常規(guī)和急停兩部分,常規(guī)參數(shù)用來設(shè)置轉(zhuǎn)速限值、啟停速度、加減速度和加減速時(shí)間等參數(shù)。急停參數(shù)用于設(shè)置軸需要急停(軸出現(xiàn)錯(cuò)誤或使用MC_Power指令禁用軸)時(shí)的參數(shù)。①~⑧為常規(guī)部分的參數(shù)配置,⑨~⑩為急停部分的參數(shù)配置。如后圖所示。①速度限值的單位用于設(shè)置后續(xù)速度的單位,該單位應(yīng)與第(1)步中設(shè)置的單位對(duì)應(yīng)。②

最大轉(zhuǎn)速是一個(gè)重要參數(shù),用來設(shè)定電機(jī)的最大轉(zhuǎn)速。③

啟動(dòng)/停止速度應(yīng)根據(jù)電機(jī)的實(shí)際啟動(dòng)/停止速度來設(shè)置。④

加速度和減速度應(yīng)根據(jù)電機(jī)和實(shí)際控制要求來設(shè)置。⑤

加速時(shí)間和減速時(shí)間:如果預(yù)先設(shè)定了加速度和減速度,則加、減速時(shí)間由軟件自動(dòng)計(jì)算。也可先設(shè)定加、減速時(shí)間,這樣加速度和減速度由軟件自動(dòng)計(jì)算。加速時(shí)間的計(jì)算公式為:(最大速度-啟動(dòng)/停止速度)/加速度。865.7運(yùn)動(dòng)控制電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:動(dòng)態(tài)參數(shù)⑥

激活加加速限值可以降低在加、減速斜坡運(yùn)行時(shí)施加到機(jī)械負(fù)載上的應(yīng)力,此時(shí)不會(huì)突然停止軸加速和軸減速,而是根據(jù)設(shè)置的步進(jìn)或平滑時(shí)間逐漸調(diào)整。⑦

濾波時(shí)間在激活加加速限值后有效,該參數(shù)由軟件自動(dòng)計(jì)算。也可先設(shè)定濾波時(shí)間,這樣加加速度由軟件自動(dòng)計(jì)算。t1和t2分別為加速斜坡和減速斜坡的平滑時(shí)間,取值相同。⑧

加加速度用于保證軸加、減速曲線銜接處變得平滑。⑨

最大轉(zhuǎn)速、啟動(dòng)/停止速度應(yīng)分別與②、③中的“最大轉(zhuǎn)速”、“啟動(dòng)/停止速度”參數(shù)相同。緊急減速度用于設(shè)置急停速度。⑩

急停減速時(shí)間:如果先設(shè)定了緊急減速度,則該時(shí)間由軟件自動(dòng)計(jì)算。也可以先設(shè)定急停減速時(shí)間,這樣緊急減速度由軟件自動(dòng)計(jì)算。急停減速時(shí)間計(jì)算公式為:(最大速度-啟動(dòng)/停止速度)/緊急減速度。875.7運(yùn)動(dòng)控制電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:動(dòng)態(tài)參數(shù)常規(guī)參數(shù)組態(tài)如左圖,急停參數(shù)組態(tài)如右圖。885.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:回原點(diǎn)參數(shù)(6)回原點(diǎn)參數(shù)包含主動(dòng)和被動(dòng)兩部分,主動(dòng)回原點(diǎn)就是傳統(tǒng)的回原點(diǎn),當(dāng)軸觸發(fā)了主動(dòng)回原點(diǎn)操作,軸按照組態(tài)的速度去尋找原點(diǎn)開關(guān)信號(hào),并完成回原點(diǎn)命令;被動(dòng)回原點(diǎn)是指軸在運(yùn)行中碰到原點(diǎn)開關(guān),軸的當(dāng)前位置將設(shè)置為回原點(diǎn)位置值。①~⑨為主動(dòng)部分的參數(shù)配置,⑩為被動(dòng)部分的參數(shù)配置,如后圖所示。①輸入原點(diǎn)開關(guān)用于設(shè)置原點(diǎn)開關(guān)的DI輸入點(diǎn)。②

選擇電平用于選擇原點(diǎn)開關(guān)的有效電平。③

允許硬件限位開關(guān)處自動(dòng)反轉(zhuǎn)用于反向?qū)ふ以c(diǎn)。④

逼近/回原點(diǎn)方向用于選擇是采用正方向還是負(fù)方向開始尋找原點(diǎn)。⑤

參考點(diǎn)開關(guān)一側(cè)用于指定軸最終停止的位置。選擇上側(cè),軸完成回原點(diǎn)后,以軸的左邊沿停在原點(diǎn)開關(guān)右側(cè)邊沿;選擇下側(cè),軸完成回原點(diǎn)后,以軸的右邊沿停在原點(diǎn)開關(guān)左側(cè)邊沿。895.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:回原點(diǎn)參數(shù)⑥

逼近速度用于設(shè)定尋找原點(diǎn)開關(guān)的起始速度,當(dāng)觸發(fā)MC_Home指令后,軸立即以逼近速度運(yùn)行來尋找原點(diǎn)開關(guān)。⑦

參考速度用于設(shè)定最終接近原點(diǎn)開關(guān)的速度,當(dāng)軸碰到原點(diǎn)開關(guān)的有效邊沿后,軸從逼近速度切換到參考速度來最終完成原點(diǎn)定位。參考速度要小于逼近速度,不宜過大。⑧

起始位置偏移量:該值不為零時(shí),軸會(huì)在距離原點(diǎn)開關(guān)一段距離(即偏移量)處停下來,把該位置標(biāo)記為原點(diǎn)位置值。該值為零時(shí),軸會(huì)停在原點(diǎn)開關(guān)的有效邊沿處。⑨

參考點(diǎn)位置就是⑧中的原點(diǎn)位置值。⑩

輸入原點(diǎn)開關(guān)與①中的意義相同、選擇電平與②中的意義相同、參考點(diǎn)開關(guān)一側(cè)與

⑤中的意義相同;參考點(diǎn)位置是MC_Home指令中輸入端Position對(duì)應(yīng)的數(shù)值。905.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.運(yùn)動(dòng)控制組態(tài)組態(tài)軸工藝對(duì)象:回原點(diǎn)參數(shù)主動(dòng)參數(shù)組態(tài)如左圖,被動(dòng)參數(shù)組態(tài)如右圖。915.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.運(yùn)動(dòng)控制指令925.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.運(yùn)動(dòng)控制指令935.7運(yùn)動(dòng)控制

電氣控制及S7-1200PLC應(yīng)用技術(shù)在工業(yè)過程控制中,其特點(diǎn)就是要控制大量的模擬量參數(shù)。使控制目標(biāo)快速無誤差地跟蹤在設(shè)定值是一個(gè)最基本的要求,要完成這樣的控制任務(wù),就需要一種控制算法。盡管有眾多的控制算法號(hào)稱能完成這樣的任務(wù),但PID控制一直是眾多控制方法中應(yīng)用最為廣泛的控制算法,以其原理組成的控制器是自動(dòng)控制系統(tǒng)設(shè)計(jì)中經(jīng)典的一種控制器。PID控制器以其結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)過程控制中不可替代的主要技術(shù)之一。945.8PID控制指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)PID指令如下表所示。該指令詳見第七章。955.8PID控制指令

電氣控制及S7-1200PLC應(yīng)用技術(shù)96本章小結(jié)電氣控制及S7-1200PLC應(yīng)用技術(shù)本章小結(jié)掌握日期和時(shí)間指令掌握字符串和字符指令掌握程序控制指令掌握中斷時(shí)間和中斷指令掌握通信指令掌握高速脈沖輸出和高速計(jì)數(shù)器指令了解運(yùn)動(dòng)控制指令了解PID控制指令作業(yè)第7、9、10、11題6.1簡(jiǎn)單電路6.2舞臺(tái)燈光控制系統(tǒng)6.3機(jī)械手控制系統(tǒng)6.4交通燈控制系統(tǒng)6.5皮帶機(jī)控制系統(tǒng)6.6電梯控制系統(tǒng)

97第6章PLC邏輯控制系統(tǒng)編程實(shí)例主要內(nèi)容:電氣控制及S7-1200PLC應(yīng)用技術(shù)1.優(yōu)先電路:三人搶答器任務(wù)要求本系統(tǒng)共有三個(gè)參賽選手和一個(gè)主持人,參賽選手的搶答席上各有一個(gè)搶答按鈕和一盞搶答指示燈,主持人的主持席有復(fù)位按鈕。在允許搶答后,最先按下?lián)尨鸢粹o的參賽選手對(duì)應(yīng)的指示燈點(diǎn)亮;此后其他參賽選手即使再按下自己的搶答按鈕,對(duì)應(yīng)的指示燈也不會(huì)點(diǎn)亮。這樣主持人就可以輕易地知道誰是第一個(gè)按下?lián)尨鹌鞯膮①愡x手。該題搶答結(jié)束后,主持人按下主持席上的復(fù)位按鈕,則指示燈熄滅,又可以進(jìn)行下一題的搶答比賽。任務(wù)分析要求對(duì)最先按下?lián)尨鸢粹o的選手的指示燈保持常亮狀態(tài),需要用到自鎖電路。要求后續(xù)按下?lián)尨鸢粹o的選手的指示燈不能點(diǎn)亮,需要用到互鎖電路。

986.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)1.優(yōu)先電路:三人搶答器I/O分配表硬件接口電路

996.1簡(jiǎn)單電路輸入說明輸出說明I0.1第一組搶答按鈕SF1Q0.1第一組搶答指示燈KF1I0.2第二組搶答按鈕SF2Q0.2第二組搶答指示燈KF2I0.3第三組搶答按鈕SF3Q0.3第三組搶答指示燈KF3I0.0復(fù)位按鈕SF4

電氣控制及S7-1200PLC應(yīng)用技術(shù)1.優(yōu)先電路:三人搶答器PLC程序(一)

1006.1簡(jiǎn)單電路

(a)梯形圖(b)時(shí)序圖電氣控制及S7-1200PLC應(yīng)用技術(shù)1.優(yōu)先電路:三人搶答器PLC程序(二)

1016.1簡(jiǎn)單電路

(a)梯形圖(b)時(shí)序圖

電氣控制及S7-1200PLC應(yīng)用技術(shù)2.閃爍電路任務(wù)要求閃爍信號(hào)到來時(shí),使指示燈以滅3s、亮2s的方式進(jìn)行周期性循環(huán)閃爍。任務(wù)分析要求實(shí)現(xiàn)時(shí)間控制,需要用到定時(shí)器指令。要求實(shí)現(xiàn)周期性循環(huán)閃爍,需要對(duì)輸出線圈進(jìn)行自動(dòng)復(fù)位。

1026.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)2.閃爍電路I/O分配表硬件接口電路

1036.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)2.閃爍電路PLC程序(一)

1046.1簡(jiǎn)單電路

(a)梯形圖(b)時(shí)序圖電氣控制及S7-1200PLC應(yīng)用技術(shù)2.閃爍電路PLC程序(二)

1056.1簡(jiǎn)單電路

(a)梯形圖(b)時(shí)序圖

電氣控制及S7-1200PLC應(yīng)用技術(shù)3.二分頻電路任務(wù)要求通過二分頻電路設(shè)計(jì),用一個(gè)按鈕實(shí)現(xiàn)對(duì)電動(dòng)機(jī)的啟動(dòng)和停止控制。即第一次按下按鈕,電動(dòng)機(jī)啟動(dòng);第二次按下按鈕,電動(dòng)機(jī)停止,以此循環(huán)。任務(wù)分析要求實(shí)現(xiàn)同一個(gè)按鈕的不同輸出控制,需要用到中間繼電器M。需要理解:梯形圖從左向右、從上向下的執(zhí)行順序。

1066.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)3.二分頻電路I/O分配表硬件接口電路

1076.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)3.二分頻電路PLC程序(一)

1086.1簡(jiǎn)單電路

(a)梯形圖(b)時(shí)序圖電氣控制及S7-1200PLC應(yīng)用技術(shù)3.二分頻電路PLC程序(二)

1096.1簡(jiǎn)單電路

(a)梯形圖(b)時(shí)序圖

電氣控制及S7-1200PLC應(yīng)用技術(shù)4.電動(dòng)機(jī)兩地控制電路任務(wù)要求甲、乙兩地均可對(duì)同一臺(tái)電動(dòng)機(jī)進(jìn)行控制。當(dāng)甲、乙兩地同時(shí)按下啟動(dòng)按鈕時(shí),電動(dòng)機(jī)運(yùn)行;當(dāng)甲、乙兩地按下任何一個(gè)停止按鈕時(shí),電動(dòng)機(jī)停止。任務(wù)分析要求實(shí)現(xiàn)兩地控制時(shí),需要在甲乙兩地分別設(shè)置啟動(dòng)按鈕、停止按鈕各1個(gè)。要求同時(shí)按下啟動(dòng)按鈕,需要增加電鈴作為指示儀表。要求兩地同時(shí)按下啟動(dòng)按鈕,需要分別對(duì)兩地的啟動(dòng)命令進(jìn)行自鎖控制。

1106.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)4.電動(dòng)機(jī)兩地控制電路I/O分配表硬件接口電路

1116.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)4.電動(dòng)機(jī)兩地控制電路PLC程序

1126.1簡(jiǎn)單電路

(a)梯形圖(b)時(shí)序圖電氣控制及S7-1200PLC應(yīng)用技術(shù)5.表決電路任務(wù)要求三個(gè)故障報(bào)警信號(hào)中,實(shí)現(xiàn)多數(shù)表決,即:如果有兩個(gè)或三個(gè)報(bào)警信號(hào)有效,則報(bào)警指示燈點(diǎn)亮。按下復(fù)位按鈕,若兩個(gè)以上報(bào)警信號(hào)已解除,則報(bào)警指示燈熄滅;如報(bào)警信號(hào)全未解除,報(bào)警指示燈繼續(xù)點(diǎn)亮任務(wù)分析要求在兩個(gè)以上報(bào)警信號(hào)有效時(shí),對(duì)報(bào)警燈保持常亮狀態(tài),需要用到自鎖電路。兩個(gè)以上報(bào)警信號(hào)有多種可能,屬于“或”的關(guān)系,應(yīng)將所有可能條件并聯(lián)。

1136.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)5.表決電路I/O分配表硬件接口電路

1146.1簡(jiǎn)單電路電氣控制及S7-1200PLC應(yīng)用技術(shù)5.表決電路PLC程序

1156.1簡(jiǎn)單電路

(a)梯形圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論