西門子控制單元6SL3055-0AA00-4BA0
西門子S7 PLC的自由通信口模式(Freeport Mode)的通信協(xié)議可自由定義,,通信所需要的信息存放在特殊存儲字節(jié)SMB30中,用戶須作如下說明:
奇偶校驗
每個字符的位數(shù)
波特率
自由通信口模式可以接收和發(fā)送數(shù)據(jù),。本例用一個仿真的打印機(jī)程序來描述數(shù)據(jù)發(fā)送,,再用一個條形碼閱讀程序來說明數(shù)據(jù)接收。
例圖

打印機(jī)程序框圖

打印機(jī)程序和注解
此程序描述向打印機(jī)發(fā)送數(shù)據(jù),。為了簡化此例,,窗口下的終端程序可代替打印機(jī)作為接收器邊接。打印淚L或終端的組態(tài)特性為9600波特,,無奇偶校驗,,每字符8位,。
本程序長度為13個字
//正確設(shè)置自山通信日模式對此應(yīng)用很重要。
//所需信息裝載在特殊存儲字節(jié)SMB30中,。
//這些輸入數(shù)據(jù)可從操作手冊中查詢,。
//發(fā)送命令XM丁包含了發(fā)送信息緩沖區(qū)的起始地址,該地址單元中只包含了發(fā)送信息的長度(以字節(jié)為單位),。

條形碼閱讀器程序框圖

條形碼閱讀器程序和注解
該程序描述數(shù)據(jù)接收,,條形碼閱讀器通過接日把讀到的數(shù)據(jù)用自山通信日模式發(fā)給SIMATIC S7-200。為簡化此例,,窗口下的終端程序可代替條形碼閱讀器作為發(fā)送器連接,。
本程序長度為15個字。

西門子控制單元6SL3055-0AA00-4BA0
在西門子S7-200系列PLC中,,CPU-214的輸出端Q0.0和Q0.1能夠輸出方波信號,,而且方波信號的周期和脈寬均能獨(dú)立調(diào)節(jié),其中脈寬指的是在一個周期內(nèi),,輸出信號處于高電平的時問長度,。
下面這個例子說明了脈寬調(diào)制(PWM)是如何工作的。輸出端Q0.0輸出方波信號,,其脈寬每周期遞增0.5秒,,周期固定為5秒,并且脈寬的初始值為0.5秒,。當(dāng)脈寬達(dá)到設(shè)定的最大值4.5秒,,脈寬改為每周期遞減0.5秒,自到脈寬為零為止,。以上過程周而復(fù)始,。
在這個例子中必須把輸出端Q0.0與輸入端10.0連接,這樣程序才能控制PWM,。


程序和注解
特殊存儲字節(jié)SMB67用來初始化輸出端00.0的PWM,。這個控制字內(nèi)含PWM允許位,修改周期和脈寬的允許位,,以及時問基數(shù)選擇位等,,山子程序0來調(diào)整這個控制字節(jié)。通過EN}指令,,使所有的中斷成為全局允許,,然后通過PLSO指令,使系統(tǒng)接受各設(shè)定值,,并初始化“P丁O/PWM發(fā)生器",,從而在輸出端00.0輸出脈寬調(diào)制(PWM)信號,。
另外,,周期5秒是通過將數(shù)值5000置入特殊存儲字SMW68來實(shí)現(xiàn)的,,初始脈寬0.5秒則通過將500寫入特殊存儲字SMW70來實(shí)現(xiàn)的。
這個初始化過程是在程序的第一個掃描周期通過執(zhí)行子程序0來實(shí)現(xiàn),,第一個掃描周期標(biāo)志是SM0.1=1,。當(dāng)一個PWM循環(huán)結(jié)束,即當(dāng)前脈寬為0秒時,,將再一次初始化PWM,。
輔助內(nèi)存標(biāo)記M 0.0用來表明脈寬是增加,還是減少,,初始化時將這個標(biāo)記設(shè)為增加,。輸出端00.0與輸入端10.0相連,這樣輸出信號民可送到輸入端10.0,。當(dāng)?shù)谝粋€方波脈沖輸出時,,利用ATC H指令,把中斷程序1(INT1)賦給中斷事件0 (10.0的上升沿),。
每個周期中斷程序1將當(dāng)前脈寬增加0.5秒,,然后利用D丁C日指令分離中斷INT1,使這個中斷再次被屏蔽,。如果在下次增加時,,脈寬大于或等于周期,則將輔助內(nèi)存標(biāo)記位M 0.0再次置0,。這樣就把中斷程序2賦子事件0,,并且脈寬也將每次遞減0.5秒。當(dāng)脈寬值減為零時,,將再次執(zhí)行,,初始化程序(子程序0)。
本程序長度為63個字,。

