西門子模塊6ES7314-6CH04-0AB0
一個(gè)通用的plc通訊程序:
MAIN:
LD SM0.1
MOVB XXX , SMB30 //根據(jù)和對(duì)方約定的波特率,,字符格式等設(shè)定
MOVB 16#9C, SMB87 //允許接收信息,使用SMB90值檢察空閑狀態(tài),定時(shí)器是信息定時(shí)器 , 超過SMW92值停止接收
MOVW +80, SMW92 //根據(jù)報(bào)文長(zhǎng)短,,波特率及從站響應(yīng)的快慢設(shè)定,,這個(gè)時(shí)間要小于接收中斷(INT3)里定時(shí)中斷的時(shí)間。
MOVW +0, SMW90
MOVB 200, SMB94 //SMW94 最大接收字符數(shù),這里無用,,但必須要設(shè)置,。
ENI
LD SM0.1
ATCH 接收:INT3, 9 //傳輸完成中斷
MOVB 150, SMB34
ATCH 發(fā)送:INT2, 10 //定時(shí)中斷
發(fā)送:
LD SM0.0
DTCH 10
XMT VB100, 0
接收:
LD SM0.0
RCV VB200, 0
MOVB 250, SMB34
ATCH 發(fā)送:INT2, 10
1 本程序只適用于單從站的問答式規(guī)約(包括MODBUS)。該程序?yàn)橹髡境绦颉?/span>
2 發(fā)送的數(shù)據(jù)放置在數(shù)據(jù)塊,,比如讀取從站地址為16#12的寄存器的數(shù)據(jù),。校驗(yàn)提前算好,減輕PLC負(fù)擔(dān)。
VB100 16#8 16#12 16#03 16#00 16#0A 16#00 16#02 16#E6 16#AA
3 不用考慮起始字符 結(jié)束字符等等,,以下是通訊流程圖,,不論從站有,詢問不受影響,。

4 9600波特率,,從站回復(fù)13字節(jié)

5 校驗(yàn)程序可以放在主程序里,
有時(shí)間再發(fā)一個(gè)多從站的程序,,程序大小和這個(gè)基本程序不變
plc中輔助繼電器M和狀態(tài)繼電器S的區(qū)別主要是
輔助繼電器M和狀態(tài)繼電器S都是PLC內(nèi)部的軟繼電器,,只有0和1兩個(gè)判斷狀態(tài),但是他們的功能和使用位置卻不一樣,。
1,、輔助繼電器M:
輔助繼電器M相當(dāng)于實(shí)踐當(dāng)中一般控制電路的中間繼電器,它只是在PLC內(nèi)部程序(梯形圖)中使用,,不能對(duì)外驅(qū)動(dòng)外部負(fù)載,,在PLC梯形圖用于邏輯變換和邏輯記憶作用。輔助繼電器M有通用輔助繼電器,、斷電保持輔助繼電器M和特殊輔助繼電器M,,輔助繼電器M接受外部的信號(hào)也可以接受內(nèi)部其他軟元件的控制信號(hào)來控制其他部分,M的觸點(diǎn)(常開,、常閉)可以無數(shù)次被使用,,但是線圈卻只有一個(gè),這是常用的輔助繼電器M,;還有特殊用輔助繼電器M,,一種只用它的觸點(diǎn),一種只用它的線圈,。
2,、狀態(tài)繼電器S:
狀態(tài)繼電器S一般都是用在步進(jìn)狀態(tài)編程SFC內(nèi),一個(gè)狀態(tài)一般用一個(gè)狀態(tài)繼電器,,只用S的線圈而不是觸點(diǎn),,PLC編程時(shí)一般用指令STL+狀態(tài)繼電器S的觸點(diǎn)符號(hào)就表示進(jìn)入這個(gè)繼電器代號(hào)的狀態(tài),所以在編程的電路中不用觸點(diǎn),。
狀態(tài)繼電器S如果不用于步進(jìn)指令編程SFC,,它也可以當(dāng)作輔助繼電器M使用,使用方法和輔助繼電器M一樣
西門子模塊6ES7314-6CH04-0AB0
一,、減少輸入點(diǎn)數(shù)的方法
1 . 分時(shí)分組輸入
自動(dòng)程序和手動(dòng)程序不會(huì)同時(shí)執(zhí)行,,自動(dòng)和手動(dòng)這兩種工作方式分別使用的輸入量可以分成兩組輸入,共用同一個(gè)端子,,如下圖 所示 ,。

圖 分時(shí)分組輸入
2. 輸入觸點(diǎn)的合并
如果某些外部 輸入信號(hào)總是以某種“與或非"組合的整體形式出現(xiàn)在梯形圖中,,可以將它們對(duì)應(yīng)的觸點(diǎn)在 plc 外部串、并聯(lián)后作為一個(gè)整體接到 PLC 的輸入端子上,,只占 PLC 的一個(gè)輸入點(diǎn),。
例如某負(fù)載可以在 3 處起動(dòng) / 停止,可以將 3 個(gè)起動(dòng)信號(hào)并聯(lián),,將 3 個(gè)停止信號(hào)串聯(lián),分別送給 PLC 的兩個(gè)輸入點(diǎn),,如下圖所示,。

圖 輸入觸點(diǎn)的合并
3. 將信號(hào)設(shè)置在PLC之外
系統(tǒng)的某些輸入信號(hào),例如手動(dòng)操作按鈕,、保護(hù)動(dòng)作后要手動(dòng)復(fù)位的電動(dòng)機(jī)熱繼電器 FR 的常閉觸點(diǎn)提供的信號(hào),,可以設(shè)置 在 PLC 外部的硬件電路中,如下圖所示,。

圖 將信號(hào)設(shè)在PLC之外
二,、減少輸出點(diǎn)數(shù)的方法
1. 減少所需數(shù)字量輸出點(diǎn)數(shù)的方法
在 PLC 的輸出功率允許下,通 / 斷狀態(tài)相同的多個(gè)負(fù)載并聯(lián)后,,可以共用一個(gè)輸出點(diǎn),,通過外部的或 PLC 控制的轉(zhuǎn)換開關(guān)的切換,一個(gè)輸出點(diǎn)可以控制兩個(gè)或多個(gè)不同時(shí)工作的負(fù)載,。
在需要用指示燈顯示 PLC 驅(qū)動(dòng)的負(fù)載的狀態(tài)時(shí),,可以將指示燈與負(fù)載并聯(lián),并聯(lián)時(shí)指示燈與負(fù)載的額定電壓相同,,總電流不應(yīng)超過允許的值,。
可以用接觸器的輔助觸點(diǎn)來實(shí)現(xiàn) PLC 外部的硬件聯(lián)鎖。
系統(tǒng)中某些相對(duì)獨(dú)立或比較簡(jiǎn)單的部分,,可以不進(jìn) PLC ,,用繼電器電路來控制,這樣可以減少所需的 PLC 的輸入,、輸出點(diǎn)數(shù),。
2. 減少數(shù)字顯示所需輸出點(diǎn)數(shù)的方法
如果用數(shù)字量輸出點(diǎn)來控 制多位 LED 七段顯示器,所需的輸出點(diǎn)是很多的,。
在下圖所示電路中,,用具有鎖存譯碼驅(qū)動(dòng)功能的芯片 CD4513 驅(qū)動(dòng)共陰極 LED 七段顯示器。

圖 PLC 的數(shù)字顯示電路