西門(mén)子PLC模塊6ES7214-1AG40-0XB0
S7-200的功能確實(shí)不夠綠色,定時(shí)器個(gè)數(shù)是有限的,但是可以通過(guò)寫(xiě)程序來(lái)實(shí)現(xiàn)定時(shí)功能,這樣就不存在定時(shí)器被多次調(diào)用的問(wèn)題了,定時(shí)器實(shí)際上就是讀取CPU內(nèi)部晶振的次數(shù),可以用定時(shí)器中斷或是SM0.5編寫(xiě)子程序。
S7-200是一款通用性很強(qiáng)大的產(chǎn)品,直接提供的功能有限,但是可以不斷的思考,通過(guò)編程等方式獲得產(chǎn)品更大的利用空間。
西門(mén)子S7-200PLC的自由口通訊具有非常強(qiáng)大的功能,熟練使用自由口通訊可以很方便的實(shí)現(xiàn)PLC與其他智能設(shè)備的數(shù)據(jù)交換。使用自由口通訊需要以下幾個(gè)方面的編程設(shè)置:對(duì)SMB30進(jìn)行設(shè)置端口選擇,波特率選擇,校驗(yàn)設(shè)置,對(duì)SMB87,89,90,94進(jìn)行設(shè)置緩沖區(qū)等。通過(guò)ATCH指令進(jìn)行中斷設(shè)置,對(duì)中斷狀態(tài)進(jìn)行判斷。通過(guò)RCV指令進(jìn)行接收數(shù)據(jù)。
通訊交換數(shù)據(jù)
交換數(shù)據(jù)是通過(guò)COM口進(jìn)行的,所以一定要注意通訊口的地址使用和時(shí)間使用。另外數(shù)據(jù)緩沖區(qū)定義也非常重要,因?yàn)榻粨Q的數(shù)據(jù)會(huì)直接存儲(chǔ)到這個(gè)緩沖區(qū)里。
與其他智能設(shè)備通訊
S7-200與其他智能設(shè)備通訊時(shí),一般會(huì)采用相應(yīng)的協(xié)議,一般來(lái)說(shuō)一個(gè)網(wǎng)絡(luò)會(huì)有相應(yīng)的站地址,以及主站與從站,一定要區(qū)分好這方面的問(wèn)題。
PID控制器的參數(shù)整定是控制系統(tǒng)設(shè)計(jì)的核心內(nèi)容。它是根據(jù)被控過(guò)程的特性確定PID控制器的比例系數(shù)、積分時(shí)間和微分時(shí)間的大小。
PID控制器參數(shù)整定的方法很多,概括起來(lái)有兩大類(lèi):一是理論計(jì)算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過(guò)理論計(jì)算確定控制器參數(shù)。二是工程整定方法,它主要依賴(lài)工程經(jīng)驗(yàn),直接在控制系統(tǒng)的試驗(yàn)中進(jìn)行,且方法簡(jiǎn)單、易于掌握,在工程實(shí)際中被廣泛采用。
PID控制器參數(shù)的工程整定方法,一般采用的是臨界比例法。利用該方法進(jìn)行PID控制器參數(shù)的整定步驟如下:(1)首先預(yù)選擇一個(gè)足夠短的采樣周期讓系統(tǒng)工作;(2)僅加入比例控制環(huán)節(jié),直到系統(tǒng)對(duì)輸入的階躍響應(yīng)出現(xiàn)臨界振蕩,記下這時(shí)的比例放大系數(shù)和臨界振蕩周期;(3)在一定的控制度下通過(guò)公式計(jì)算得到PID控制器的參數(shù)。
PID參數(shù)的設(shè)定:是靠經(jīng)驗(yàn)及工藝的熟悉,參考測(cè)量值跟蹤與設(shè)定值曲線(xiàn),從而調(diào)整PID的大小。比例I/微分D=2,具體值可根據(jù)儀表定,再調(diào)整比例帶P,P過(guò)頭,到達(dá)穩(wěn)定的時(shí)間長(zhǎng),P太短,會(huì)震蕩,永遠(yuǎn)也打不到設(shè)定要求。
PID控制器參數(shù)的工程整定,各種調(diào)節(jié)系統(tǒng)中P.I.D參數(shù)經(jīng)驗(yàn)數(shù)據(jù)以下可參照:
溫度T:P=20~60%,T=180~600s,D=3-180s;
壓力P:P=30~70%,T=24~180s;
液位L:P=20~80%,T=60~300s;
流量L:P=40~100%,T=6~60s。
這里介紹一種經(jīng)驗(yàn)法,方法的基本程序是先根據(jù)運(yùn)行經(jīng)驗(yàn),確定一組調(diào)節(jié)器參數(shù),并將系統(tǒng)投入閉環(huán)運(yùn)行,然后人為地加入階躍擾動(dòng)(如改變調(diào)節(jié)器的給定值),觀(guān)察被調(diào)量或調(diào)節(jié)器輸出的階躍響應(yīng)曲線(xiàn)。若認(rèn)為控制質(zhì)量不滿(mǎn)意,則根據(jù)各整定參數(shù)對(duì)控制過(guò)程的影響改變調(diào)節(jié)器參數(shù)。這樣反復(fù)試驗(yàn),直到滿(mǎn)意為止。
西門(mén)子S7-200PLC集成有高速計(jì)數(shù)功能,高速計(jì)數(shù)是PLC的一項(xiàng)非常重要的功能,在工業(yè)領(lǐng)域中測(cè)量轉(zhuǎn)動(dòng)速度與周期一般都是用脈沖式儀器,例如旋轉(zhuǎn)編碼器。這類(lèi)儀器的頻率遠(yuǎn)遠(yuǎn)大于PLC的采集頻率,因此使用高速計(jì)數(shù)器顯得尤為重要。S7-200高速計(jì)數(shù)功能的知識(shí)點(diǎn)主要分幾個(gè)部分:一是輸入地址,二是計(jì)數(shù)模式,按有無(wú)方向,有無(wú)復(fù)位,外部復(fù)位和軟復(fù)位等進(jìn)行分類(lèi)。三是相應(yīng)的控制特殊功能寄存器。來(lái)控制計(jì)數(shù)器的模式和預(yù)置值等。
高速計(jì)數(shù)器復(fù)位
高速計(jì)數(shù)的復(fù)位是使用計(jì)數(shù)器時(shí)非常重要的地方。由于外部器件例如編碼器等,一般都會(huì)有累積誤差,那么就需要定期的進(jìn)行復(fù)位。另外編碼器一些功能的實(shí)現(xiàn)也要求它具有復(fù)位功能。
高速計(jì)數(shù)器測(cè)量轉(zhuǎn)速周期等
使用編碼器和高速計(jì)數(shù)器,定時(shí)中斷等,可以進(jìn)行旋轉(zhuǎn)體的速度周期等數(shù)據(jù)的測(cè)量,此功能在對(duì)電機(jī)測(cè)量方面有廣泛的應(yīng)用。
實(shí)數(shù)的格式
實(shí)數(shù)(浮點(diǎn)數(shù))由32位單精度數(shù)表示,其格式按照ANSI/IEEE754-1985標(biāo)準(zhǔn)中所描述的形式。實(shí)數(shù)按照雙字長(zhǎng)度來(lái)存取。對(duì)于S7-200來(lái)說(shuō),浮點(diǎn)數(shù)精確到小數(shù)點(diǎn)后第六位。因而當(dāng)使用一個(gè)浮點(diǎn)數(shù)常數(shù)時(shí),多可以到小數(shù)點(diǎn)后第六位。
實(shí)數(shù)運(yùn)算的精度
在計(jì)算中涉及到非常大和非常小的數(shù),則有可能導(dǎo)致計(jì)算結(jié)果不精確。
字符串的格式
字符串指的是一系列字符,每個(gè)字符以字節(jié)的形式存儲(chǔ)。字符串的*個(gè)字節(jié)定義了字符串的長(zhǎng)度,也就是字符的個(gè)數(shù)。一個(gè)字符串的長(zhǎng)度可以是0到254個(gè)字符,再加上長(zhǎng)度字節(jié),一個(gè)字符串的大長(zhǎng)度為255個(gè)字節(jié)。而一個(gè)字符串常量的大長(zhǎng)度為126字節(jié)。
布爾型數(shù)據(jù)(0或1)。
S7-200CPU不支持?jǐn)?shù)據(jù)類(lèi)型檢測(cè)
例如:可以在加法指令中使用VW100中的值作為有符號(hào)整數(shù),同時(shí)也可以在異或指令中將VW100中的數(shù)據(jù)當(dāng)作無(wú)符號(hào)的二進(jìn)制數(shù)。
S7-200提供各種變換指令,使用戶(hù)能方便地進(jìn)行數(shù)據(jù)制式及表達(dá)方式的變換。
西門(mén)子PLC對(duì)檢修工藝及技術(shù)要求見(jiàn)如下,另外我司還舉一個(gè)西門(mén)子PLC維修實(shí)例供大家參考:
(1)測(cè)量電壓時(shí),要用數(shù)字電壓表或精度為1%的萬(wàn)能表測(cè)量
(2)電源機(jī)架,CPU主板都只能在主電源切斷時(shí)取下;
(3)在RAM模塊從CPU取下或插入CPU之前,要斷開(kāi)PC的電源,這樣才能保證數(shù)據(jù)不混亂;
(4)在取下RAM模塊之前,檢查一下模塊電池是否正常工作,如果電池故障燈亮?xí)r取下模塊PAM內(nèi)容將丟失;
(5)輸入/輸出板取下前也應(yīng)先關(guān)掉總電源,但如果生產(chǎn)需要時(shí)I/0板也可在可編程控制器運(yùn)行時(shí)取下,但CPU板上的QVZ(超時(shí))燈亮;
(6)撥插模板時(shí),要格外小心,輕拿輕放,并運(yùn)離產(chǎn)生靜電的物品;
(7)更換元件不得帶電操作;
(8)檢修后模板安裝一定要安插到位
西門(mén)子PLC維修實(shí)例:
型號(hào):S7-200(CPU226)
故障現(xiàn)象:錯(cuò)誤指示燈閃
故障分析:根據(jù)故障問(wèn)題通電PLC無(wú)法將開(kāi)關(guān)撥到RUN狀態(tài),錯(cuò)誤指示燈一直閃爍,斷電復(fù)位后故障依舊,打開(kāi)外殼測(cè)量電源供電電壓都正常。說(shuō)明錯(cuò)誤燈閃跟程序和CPU有關(guān)系,先把PLC連接電腦讀出程序正常。把PLC程序清空后上電錯(cuò)誤燈不閃。一切正常。說(shuō)明程序可能有問(wèn)題。在檢查程序發(fā)現(xiàn)程序有幾處空白段,初步懷疑是程序問(wèn)題。把程序段根據(jù)客戶(hù)外部信號(hào)條件修改好程序輸入PLC后故障解除。
故障修復(fù):修改程序重新輸入后故障解除。
一、 S7-200PLC內(nèi)部RS485接口電路圖
圖中R1、R2是阻值為10歐的普通電阻,其作用是防止RS485信號(hào)D+和D-短路時(shí)產(chǎn)生過(guò)電流燒壞芯片,Z1、Z2是鉗制電壓為6V,大電流為10A的齊納二極管,24V電源和5V電源共地未經(jīng)隔離,當(dāng)D+或D-線(xiàn)上有共模干擾電壓灌入時(shí),由橋式整流電路和Z1、Z2可將共模電壓鉗制在±6.7V,從而保護(hù)RS485芯片SN75176(RS485芯片的允許共模輸入電壓范圍為:-7V~+12V)。該保護(hù)電路能承受共模干擾電壓功率為60W,保護(hù)電路和芯片內(nèi)部沒(méi)有防靜電措施
西門(mén)子PLC模塊6ES7214-1AG40-0XB0
CPU 上的通信口(Port0)支持 Modbus RTU 從站通信協(xié)議
S7-200 CPU上的通信口Port0可以支持Modbus RTU協(xié)議,成為Modbus RTU從站。此功能是通過(guò)S7-200的自由口通信模式實(shí)現(xiàn),因此可以通過(guò)無(wú)線(xiàn)數(shù)據(jù)電臺(tái)等慢速通信設(shè)備傳輸。
詳情請(qǐng)參考《S7-200系統(tǒng)手冊(cè)》之相關(guān)章節(jié)。
要實(shí)現(xiàn)Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的編程軟件,而且須安裝STEP 7-Micro/WIN32 V3.2 Instruction Library(指令庫(kù))。Modbus RTU功能是通過(guò)指令庫(kù)中預(yù)先編好的程序功能塊實(shí)現(xiàn)的。
Modbus RTU從站指令庫(kù)只支持CPU上的通信0口(Port0)。
2.2 編程基本步驟:
檢查Micro/WIN的軟件版本,應(yīng)當(dāng)是STEP 7-Micro/WIN V3.2以上版本。
檢查Micro/WIN的指令樹(shù)中是否存在Modbus RTU從站指令庫(kù)(圖1),庫(kù)中應(yīng)當(dāng)包括MBUS_INIT和MBUS_SLAVE兩個(gè)子程序。如果沒(méi)有,須安裝Micro/WIN32 V3.2的Instruction Library(指令庫(kù))軟件包;

圖1. 指令樹(shù)中的庫(kù)指令
編程時(shí)使用SM0.1調(diào)用子程序MBUS_INIT進(jìn)行初始化,使用SM0.0調(diào)用MBUS_SLAVE,并相應(yīng)參數(shù)。關(guān)于參數(shù)的詳細(xì)說(shuō)明,可在子程序的局部變量表中找到;

圖2. 調(diào)用Modbus RTU通信指令庫(kù)
圖中參數(shù)意義如下:
模式選擇:?jiǎn)?dòng)/停止Modbus,1=啟動(dòng);0=停止
從站地址:Modbus從站地址,取值1~247
波特率:可選1200,2400,4800,9600,19200,38400,57600,115200
奇偶校驗(yàn):0=無(wú)校驗(yàn);1=奇校驗(yàn);2=偶校驗(yàn)
延時(shí):附加字符間延時(shí),缺省值為0
zui大I/Q位:參與通信的zui大I/O點(diǎn)數(shù),S7-200的I/O映像區(qū)為128/128,缺省值為128
zui大AI字?jǐn)?shù):參與通信的zui大AI通道數(shù),可為16或32
zui大保持寄存器區(qū):參與通信的V存儲(chǔ)區(qū)字(VW)
保持寄存器區(qū)起始地址:以&VBx(間接尋址方式)
初始化完成標(biāo)志:成功初始化后置1
初始化錯(cuò)誤代碼
Modbus執(zhí)行:通信中時(shí)置1,無(wú) Modbus 通信活動(dòng)時(shí)為 0。
錯(cuò)誤代碼:0=無(wú)錯(cuò)誤
表 1. 從站錯(cuò)誤代碼
錯(cuò)誤代碼 | 描述 |
---|
0 | 無(wú)錯(cuò)誤 |
1 | 存儲(chǔ)區(qū)范圍錯(cuò)誤 |
2 | 非法波特率或校驗(yàn) |
3 | 非法從站地址 |
4 | Modbus 參數(shù)的非法值 |
5 | 保持寄存器與Modbus從站符號(hào)地址重復(fù) |
6 | 接收校驗(yàn)錯(cuò)誤 |
7 | 接收CRC錯(cuò)誤 |
8 | 非能請(qǐng)求/不支持的功能 |
9 | 請(qǐng)求中有非法存儲(chǔ)區(qū)地址 |
10 | 從站功能未使能 |
在CPU的V數(shù)據(jù)區(qū)中分配庫(kù)指令數(shù)據(jù)區(qū)(Library Memory);
如有必要,使用主站軟件測(cè)試。

注意:由子程序參數(shù)HoldStart和MaxHold的保持寄存器區(qū),是在S7-200 CPU的V數(shù)據(jù)存儲(chǔ)區(qū)中分配,此數(shù)據(jù)區(qū)不能和庫(kù)指令數(shù)據(jù)區(qū)有任何重疊,否則在運(yùn)行時(shí)會(huì)產(chǎn)生錯(cuò)誤,不能正常通信。注意Modbus 中的保持寄存器區(qū)按"字"尋址,即MaxHold規(guī)定的是VW而不是VB的個(gè)數(shù)。
在圖2的例子中,規(guī)定了 Modbus 保持寄存器區(qū)從 VB0 開(kāi)始(HoldStart = VB0),并且保持寄存器為1000個(gè)字(MaxHold=1000),因保持寄存器以字(兩個(gè)字節(jié))為單位,實(shí)際上這個(gè)通信緩沖區(qū)占用了VB0~VB1999共2000個(gè)字節(jié)。因此分配庫(kù)指令保留數(shù)據(jù)區(qū)時(shí)至少要從VB2000開(kāi)始。當(dāng)然保持區(qū)不一定要從VB0開(kāi)始。
注意:你選用的CPU的V存儲(chǔ)區(qū)大?。PU型號(hào)不同V數(shù)據(jù)存儲(chǔ)區(qū)大小不同。應(yīng)根據(jù)需要選擇Modbus保持寄存器區(qū)域的大小。
包含 Modbus RTU 從站指令庫(kù)的項(xiàng)目編譯、下載到CPU中后,在編程計(jì)算機(jī)(PG/PC)上運(yùn)行一些 Modbus 測(cè)試軟件可以檢驗(yàn)S7-200的Modbus RTU通信是否正常,這對(duì)查找故障點(diǎn)很有用。測(cè)試軟件通過(guò)計(jì)算機(jī)串口(RS-232)和PC/PPI電纜連接CPU。如果必要,須將PC/PPI電纜設(shè)置在自由口通信方式。
可到一些軟件下載尋找類(lèi)似軟件,如 ModScan32 等。

2.3 Modbus RTU 從站地址與S7-200的地址對(duì)應(yīng)
Modbus地址總是以00001、30004之類(lèi)的形式出現(xiàn)。S7-200內(nèi)部的數(shù)據(jù)存儲(chǔ)區(qū)與Modbus的0、1、3、4共4類(lèi)地址的對(duì)應(yīng)關(guān)系如下:
表2. Modbus地址對(duì)應(yīng)表
Modbus地址 | S7-200數(shù)據(jù)區(qū) |
---|
00001 ~ 00128 | Q0.0 ~ Q15.7 |
10001 ~ 10128 | I0.0 ~ I15.7 |
30001 ~ 30032 | AIW0 ~ AIW62 |
40001 ~ 4xxxx | T ~ T + 2 * (xxxx -1) |
其中T為S7-200中的緩沖區(qū)起始地址,即 HoldStart。
如果已知S7-200中的V存儲(chǔ)區(qū)地址,推算Modbus地址的公式如下:
Modbus地址 = 40000 + (T/2+1) ; T為偶數(shù)
2.4 Modbus RTU 從站指令庫(kù)支持的功能碼
Modbus RTU 從站指令庫(kù)支持特定的 Modbus 功能。訪(fǎng)問(wèn)使用此指令庫(kù)的主站必須遵循這個(gè)指令庫(kù)的要求。
表 3. Modbus RTU 從站功能碼
功能碼 | 主站使用相應(yīng)功能碼作用于此從站的效用 |
---|
1 | 讀取單個(gè)/多個(gè)線(xiàn)圈(離散量輸出點(diǎn))狀態(tài)。 功能 1 返回任意個(gè)數(shù)輸出點(diǎn)(Q)的 ON/OFF 狀態(tài)。 |
---|
2 | 讀取單個(gè)/多個(gè)觸點(diǎn)(離散量輸入點(diǎn))狀態(tài)。 功能 2 返回任意個(gè)數(shù)輸入點(diǎn)(I)的 ON/OFF 狀態(tài)。 |
---|
3 | 讀取單個(gè)/多個(gè)保持寄存器。功能 3 返回 V 存儲(chǔ)區(qū)的內(nèi)容。在 Modbus 協(xié)議下保持寄存器都是"字"值,在一次請(qǐng)求中可以讀取zui多 120 個(gè)字的數(shù) |
---|