西門子控制單元6SL3055-0AA00-4BA0
西門子S7 PLC的自由通信口模式(Freeport Mode)的通信協(xié)議可自由定義,通信所需要的信息存放在特殊存儲(chǔ)字節(jié)SMB30中,用戶須作如下說明:
奇偶校驗(yàn)
每個(gè)字符的位數(shù)
波特率
自由通信口模式可以接收和發(fā)送數(shù)據(jù)。本例用一個(gè)仿真的打印機(jī)程序來描述數(shù)據(jù)發(fā)送,再用一個(gè)條形碼閱讀程序來說明數(shù)據(jù)接收。
例圖
打印機(jī)程序框圖
打印機(jī)程序和注解
此程序描述向打印機(jī)發(fā)送數(shù)據(jù)。為了簡(jiǎn)化此例,窗口下的終端程序可代替打印機(jī)作為接收器邊接。打印淚L或終端的組態(tài)特性為9600波特,無奇偶校驗(yàn),每字符8位。
本程序長(zhǎng)度為13個(gè)字
//正確設(shè)置自山通信日模式對(duì)此應(yīng)用很重要。
//所需信息裝載在特殊存儲(chǔ)字節(jié)SMB30中。
//這些輸入數(shù)據(jù)可從操作手冊(cè)中查詢。
//發(fā)送命令XM丁包含了發(fā)送信息緩沖區(qū)的起始地址,該地址單元中只包含了發(fā)送信息的長(zhǎng)度(以字節(jié)為單位)。
條形碼閱讀器程序框圖
條形碼閱讀器程序和注解
該程序描述數(shù)據(jù)接收,條形碼閱讀器通過接日把讀到的數(shù)據(jù)用自山通信日模式發(fā)給SIMATIC S7-200。為簡(jiǎn)化此例,窗口下的終端程序可代替條形碼閱讀器作為發(fā)送器連接。
本程序長(zhǎng)度為15個(gè)字。
西門子控制單元6SL3055-0AA00-4BA0
在西門子S7-200系列PLC中,CPU-214的輸出端Q0.0和Q0.1能夠輸出方波信號(hào),而且方波信號(hào)的周期和脈寬均能獨(dú)立調(diào)節(jié),其中脈寬指的是在一個(gè)周期內(nèi),輸出信號(hào)處于高電平的時(shí)問長(zhǎng)度。
下面這個(gè)例子說明了脈寬調(diào)制(PWM)是如何工作的。輸出端Q0.0輸出方波信號(hào),其脈寬每周期遞增0.5秒,周期固定為5秒,并且脈寬的初始值為0.5秒。當(dāng)脈寬達(dá)到設(shè)定的最大值4.5秒,脈寬改為每周期遞減0.5秒,自到脈寬為零為止。以上過程周而復(fù)始。
在這個(gè)例子中必須把輸出端Q0.0與輸入端10.0連接,這樣程序才能控制PWM。
程序和注解
特殊存儲(chǔ)字節(jié)SMB67用來初始化輸出端00.0的PWM。這個(gè)控制字內(nèi)含PWM允許位,修改周期和脈寬的允許位,以及時(shí)問基數(shù)選擇位等,山子程序0來調(diào)整這個(gè)控制字節(jié)。通過EN}指令,使所有的中斷成為全局允許,然后通過PLSO指令,使系統(tǒng)接受各設(shè)定值,并初始化“P丁O/PWM發(fā)生器",從而在輸出端00.0輸出脈寬調(diào)制(PWM)信號(hào)。
另外,周期5秒是通過將數(shù)值5000置入特殊存儲(chǔ)字SMW68來實(shí)現(xiàn)的,初始脈寬0.5秒則通過將500寫入特殊存儲(chǔ)字SMW70來實(shí)現(xiàn)的。
這個(gè)初始化過程是在程序的第一個(gè)掃描周期通過執(zhí)行子程序0來實(shí)現(xiàn),第一個(gè)掃描周期標(biāo)志是SM0.1=1。當(dāng)一個(gè)PWM循環(huán)結(jié)束,即當(dāng)前脈寬為0秒時(shí),將再一次初始化PWM。
輔助內(nèi)存標(biāo)記M 0.0用來表明脈寬是增加,還是減少,初始化時(shí)將這個(gè)標(biāo)記設(shè)為增加。輸出端00.0與輸入端10.0相連,這樣輸出信號(hào)民可送到輸入端10.0。當(dāng)?shù)谝粋€(gè)方波脈沖輸出時(shí),利用ATC H指令,把中斷程序1(INT1)賦給中斷事件0 (10.0的上升沿)。
每個(gè)周期中斷程序1將當(dāng)前脈寬增加0.5秒,然后利用D丁C日指令分離中斷INT1,使這個(gè)中斷再次被屏蔽。如果在下次增加時(shí),脈寬大于或等于周期,則將輔助內(nèi)存標(biāo)記位M 0.0再次置0。這樣就把中斷程序2賦子事件0,并且脈寬也將每次遞減0.5秒。當(dāng)脈寬值減為零時(shí),將再次執(zhí)行,初始化程序(子程序0)。
本程序長(zhǎng)度為63個(gè)字。