新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于虛擬儀器的PLC監控系統設計

        基于虛擬儀器的PLC監控系統設計

        作者: 時間:2010-11-04 來源:網絡 收藏

        1.3 自由口模式的注意事項
        自由口模式通信要注意以下問題:
        (1)CPU通信口工作在自由口模式時,通信口就不支持其它通信協議。CPU停止時,自由口不能工作,編程軟件就可以與CPU通信。
        (2)此通信模式下,發送和接收指令是程序的核心指令,用戶程序不能直接控制通訊芯片而必須通過操作系統。
        (3)用戶程序中應考慮電纜的切換時間。CPU接收到RS-232設備的請求到它發送響應的延遲時間必須大于等于電纜的切換時間,可用定時中斷實現切換延時。
        (4)在自由口模式下,通信雙方的通信參數是由用戶自行設定的,通信雙方的波特率一定要設置相同。另外,在PLC網絡中主站個數越少,通信速度越快:波特率越大,通信速度也越快,但抗干擾能力降低。因此對于本系統這種單主站的網絡,要注意波特率不宜設置得過大。

        2 虛擬儀器程序設計
        LabVIEW是美國國家儀器公司開發的虛擬儀器開發平臺軟件,功能強大、靈活,廣泛應用于自動測量系統以及工業過程自動化等各個領域。
        在LabVIEW編程語言中串口通信采用虛擬儀器體系結構VISA (Virtual Instrument Software Architecture)標準編程。VISA是儀器驅動的一個工業標準,其內部是一個面向對象的結構,這一結構使得VISA和在它之前的I/O控制軟件相比,在接口無關性、可擴展性方面都有很大提高。VISA標準的推出,統一了儀器工業的軟件接口標準,使得儀器驅動程序兼容性強并且可適應未來軟硬件的發展需要。
        2.1 LabVIEW中的串口通信函數
        (1)VISA配置串口。該函數主要用于串口的初始化。主要參數如圖2所示。

        本文引用地址:http://www.104case.com/article/156975.htm


        其中“VISA資源名稱”指定要打開的資源。該控件也可指定會話句柄和類。“波特率”是傳輸速率,默認值為9600。“數據比特”是輸入數據的位數,默認值為8。“奇偶”指定要傳輸或接收的每一幀所使用的奇偶校驗。“停止位”指定用于表示幀結束的停止位的數量。“流控制”設置傳輸機制使用的控制類型。“VISA資源名稱輸出”是由VISA函數返回的VISA資源名稱的副本。
        (2)VISA讀取函數。該函數為串口讀取子程序,從串行設備讀取數據,為后續的數據處理提供條件。主要參數如圖3。


        其中“字節總數”是要讀取的字節數量。“讀取緩沖區”包含從設備讀取的數據。“返回數”包含實際讀取的字節數。
        (3)VISA寫入函數。該函數為串口寫子程序,用于對串口設備進行寫操作。主要參數如圖4所示。


        其中“寫入緩沖區”包含要寫入設備的數據。“返回數”包含實際寫入的字節數。
        此外,LabVIEW中與串口通信有關的還有VISA關閉函數與VISA串口字節數函數,分別用于關閉串行設備的任務或事件和計算進入串口緩存區中的數據字節數。
        2.2 LabVIEW與PLC串口通信實現
        按照通信協議使用專用的九芯插頭和PC/PPI電纜,將PC機的COM1口與S7-200的自由通信口直接連接。由于電纜上帶有RS-232/RS485電平轉換器,連接十分方便。LabVIEW進行串口通信的基本步驟為:
        (1)初始化端口。利用VISA配置串口函數設定進行串口通信的端口號、波特率、停止位、校驗、數據位。
        (2)讀寫端口。利用VISA讀串口函數和VISA寫串口函數從串口中讀入或輸出數據。由于LabVIEW的串行通信子程序只允許對字符串的讀寫,因此在數據處理時,必須進行字符串與數字之間的正確轉換。
        (3)關閉端口。當對串口操作完成后,需要關閉串口,以釋放硬件資源。

        3 串口通信實現
        按照上述過程,設計了監控系統程序,程序框圖與前面板分別如圖5、圖6所示。



        關鍵詞: 收發器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玉环县| 永善县| 元江| 清镇市| 德安县| 措勤县| 威宁| 彰武县| 延津县| 谷城县| 梓潼县| 大关县| 天等县| 峨眉山市| 任丘市| 原平市| 磐安县| 绥滨县| 平乡县| 甘德县| 赤壁市| 安新县| 社会| 镇巴县| 惠州市| 车险| 广州市| 辛集市| 江陵县| 韩城市| 宿松县| 安多县| 濉溪县| 泸西县| 高尔夫| 清河县| 金山区| 鄢陵县| 新泰市| 桂平市| 宜州市|