西門子6ES7390-1BC00-0AA0運城西門子S7-300代理商
西門子6ES7390-1BC00-0AA0運城西門子S7-300代理商
通訊功能的實現(xiàn)
在Windows環(huán)境下,,實現(xiàn)PC與單片機的通訊可利用Windows的通訊API函數(shù)或者利用VC++(或其它語言)的標準通訊函數(shù)_inp、_outp來實現(xiàn),。但上述兩種方法比較繁瑣,,而采用ActiveX控件MSComm32來實現(xiàn)則非常方便。該控件用事件的方式簡化了對串口操作的編程,,并可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,,還可對串口狀態(tài)及串口通信的信息格式和協(xié)議進行設(shè)置。其初始化程序如下:一般情況下,,PC要與多個單片機89C51系統(tǒng)進行主從式通訊,,為了區(qū)分各單片機系統(tǒng),可以使89C51采用串口工作方式3,,即11位異步接收/發(fā)送方式,該方式的有效數(shù)據(jù)為9位,,其中第9位為地址/數(shù)據(jù)信息的標志位,,其作用是使從機據(jù)此判斷發(fā)送的數(shù)據(jù)是否為地址,從而實現(xiàn)多機操作。但現(xiàn)在由于采用的是MSCOMM控件來實現(xiàn)PC機和單片機之間的通訊,,這是一種標準的10位串口通信方式,,即8位標準數(shù)據(jù)位和該數(shù)據(jù)的起始位、停止位各1位,。因此二者格式不相符,,故很難利用上述方案。因此可考慮將單片機串口設(shè)為工作方式1,,即改為10位異步接收/發(fā)送方式來解決,,其通訊流程如下:
首先發(fā)通信開始標志,接著發(fā)送需要操作的單片機系統(tǒng)地址,,然后發(fā)送顯示工作命令字,,該命令包括2個字節(jié),前一字節(jié)用于設(shè)定顯示方式和滾動方向,,后一字節(jié)則用于設(shè)定顯示速度,。再往下是傳送顯示內(nèi)容的點陣數(shù)據(jù),zui后對數(shù)據(jù)進行校驗,。該通訊規(guī)約非常簡便,,能夠較好的解決上述問題,從而實現(xiàn)PC機與多單片機之間的主從式通訊及對顯示的控制,。
需要注意的是,,當顯示內(nèi)容需要改變時,為了避免在單片機串行中斷接收數(shù)據(jù)時,,顯示屏出現(xiàn)亂碼,,應(yīng)使顯示屏?xí)翰伙@示(處于“黑屏”狀態(tài)),直到數(shù)據(jù)接收*,,串行中斷處理結(jié)束時再顯示,。
漢字字模的提取非常關(guān)鍵,本文的字模數(shù)據(jù)取自UCDOS下的字庫文件HZK16,。關(guān)于這方面的介紹較多,,文獻[2]給出了較為具體的在VC下提取漢字字模的方案,這里不再贅述,。對于特殊字符或圖形點陣數(shù)據(jù)的提取,,簡便的方法可以先做一個BMP文件,然后用一些取模軟件(如字模提取v2.1)來獲得,。為了顯示方便,,點陣數(shù)據(jù)的格式應(yīng)為n×(16×8),不足要求的則應(yīng)以0數(shù)據(jù)補充,。 b.動態(tài)效果模擬顯示
為了方便調(diào)節(jié)LED的顯示效果,,筆者在PC機的控制界面上設(shè)計了LED顯示屏的模擬顯示,,它同實際的顯示效果*一樣。用戶可以設(shè)定顯示的模式,,并調(diào)節(jié)顯示速度,,然后在界面上對顯示效果進行預(yù)覽,同時還可以隨時修改和設(shè)定參數(shù),,因而十分方便簡捷,。
為此,可先在界面上描繪出虛擬的LED顯示屏,,由于實際的顯示屏為160×16點陣,,故須在界面 上設(shè)定相同的區(qū)域。
實現(xiàn)動態(tài)顯示效果的方法和以上幾種基本類似,,這里以滾動顯示為例作一說明,。對于需要滾動的文字,可以將其設(shè)置為位圖格式,,暫存于內(nèi)存中,,然后利用VC 提供的位圖拷貝函數(shù)BitBlt將位圖復(fù)制到顯示位置。對于特殊字符或圖形,,則可以直接利用BitBlt函數(shù)調(diào)用到顯示位置,。然后在類CLEDDlg的 OnTimer函數(shù)中調(diào)用該函數(shù),以實現(xiàn)文字的滾動顯示,。另外,,也可以通過設(shè)定不同的響應(yīng)時間間隔來改變文字的滾動速度
S7-300 以太網(wǎng)模塊在 Profinet 網(wǎng)絡(luò)中既可以作為控制器也可以作為設(shè)備,當 Profinet 連接中斷時,,可以使用下面的方法來判斷,。本文以 CP343-1 作為控制器為例,如圖1,,兩個設(shè)備分別為ET200SP和ET200M,。
( 37 KB )
圖01
Profinet 通訊中現(xiàn)場設(shè)備作為數(shù)據(jù)的提供者,會向控制器發(fā)送數(shù)據(jù)到 I 區(qū),。在發(fā)送的 PN 的報文中,,按照槽位的順序添加內(nèi)容,輸入模塊槽位:輸入數(shù)據(jù)+IOPS,;輸出模塊槽位:IOCS,。IOPS 表示 IO 數(shù)據(jù)的提供狀態(tài)(數(shù)據(jù)是好的還是壞的);IOCS表示IO 數(shù)據(jù)的消費狀態(tài)(Q 數(shù)據(jù)使用狀況),。如圖2,,CP 的PN 通訊程序塊 FC11 "PNIO_SEND"和 FC12 "PNIO_RCIV" 提供了IOCS/IOPS 的輸出管腳,可以用于通訊狀態(tài)的評估,。
圖02
IOCS/IOPS 的有效長度和通訊的數(shù)據(jù)長度有關(guān),,每個字節(jié)的輸入/輸出,,對應(yīng)一位IOCS/IOPS 輸出,。如圖3,,ET200SP 站點,輸入地址0-7 8個字節(jié),,對應(yīng) IOPS 8位,,即MB202;輸出地址0,,一個字節(jié),,對應(yīng)IOCS 一位,即M200.0,。
圖03
如圖4,,ET200M 站點,輸入地址8 ,,1個字節(jié),,對應(yīng) IOPS 1位,順序后延即M203.0,;輸出地址1,,一個字節(jié),對應(yīng)IOCS 一位,,順序后延即M200.1,。
圖04
如圖5-6,如果現(xiàn)場設(shè)備只是發(fā)生故障,,通訊沒有中斷,,例如 ET200SP AI模塊被拔出,只有相應(yīng)的 IOPS 位置位,,即MB202,。
圖05
圖06
如果此時現(xiàn)場設(shè)備和控制器的連接中斷,則現(xiàn)場設(shè)備相應(yīng)的所有 IOPS/IOCS 都會置位,,如圖7,。此時,ET200M IOPS/IOCS 位全部置位,,ET200M 此時可能掉站,。
相關(guān)產(chǎn)品
免責(zé)聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載,、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,,應(yīng)在授權(quán)范圍內(nèi)使用,,并注明“來源:化工儀器網(wǎng)”,。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任,。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責(zé),,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任,。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,,必須保留本網(wǎng)注明的作品第一來源,,并自負版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容,、版權(quán)等問題,,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利,。