精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

智嵌物聯ZQWL可編程串口IO控制器(略懂C語言即可使用)

智嵌物聯ZQWL ? 2022-02-19 11:10 ? 次閱讀
  1. 概述

智嵌物聯串口IO模塊提供了用戶編程接口,增強了應用的靈活性,簡化了用戶的編程的難度,縮短了開發產品的周期;用戶不需要了解IO板卡底層驅動,只需將控制邏輯和通訊協議嵌入其中即可。

串口IO模塊提供keil開發環境下的函數庫,功能強大,使用方便。開發人員只需略懂C語言(提供詳盡技術指導和咨詢)就可以在本司串口IO平臺上開發所需功能。

  1. 開關量相關函數
    1. Write_Relay函數

函數原型如下:

poYBAGIQXymAXiQgAACF3bMkkFM425.png

該函數需被其他函數調用才能使用。

舉例:

Write_Relay(0,1);//閉合第一路繼電器的常開觸點,斷開常閉觸點。

Write_Relay(1,0);//斷開第二路繼電器的常閉觸點,打開常開觸點。

在使用過程中,注意傳入的參數(channel,status)不能出錯,channel的范圍為0到N,N為控制板IO輸出點個數;status的值只能為0或1。參數超出定義范圍時,函數將返回錯誤信息

  1. Read_Relay函數

函數原型如下:

pYYBAGIQXymAU63LAAB1sbz1Bdc328.png

該函數需被其他函數調用才能使用。

舉例:

unsigned char temp = 0;

temp =Read_Relay(0);//讀取第一路的輸出狀態并將結果賦給temp。

temp =Read_Relay(3);//讀取第四路的輸出狀態并將結果賦給temp。

然后根據temp的值即可判斷當前IO輸出的狀態:

temp為0則:常開觸點斷開,常閉觸點閉合。

temp為1則:常閉觸點斷開,常開觸點閉合。

temp為2則:傳入的參數channel錯誤。

temp為3則:其他未知錯誤。

  1. 開關量輸入相關函數
    1. Read_IN函數

函數原型如下:

poYBAGIQXymAVRsXAABbj1s6a6s531.png

該函數需被其他函數調用才能使用。

舉例:

unsigned char temp = 0;

temp =Read_IN(0);//讀取第一路的輸入狀態并將結果賦給temp。

temp =Read_Relay(3);//讀取第四路的輸入狀態并將結果賦給temp。

然后根據temp的值即可判斷當前IO輸入的狀態:

temp為0則:該路為無信號輸入(邏輯值為0,低電平)。

temp為1則:該路為有信號輸入(邏輯值為1,高電平)。

temp為2則:傳入的參數channel錯誤。

  1. 串口通訊相關函數

智嵌物聯雙串口IO控制板均有RS232RS485接口,這兩種接口可以獨立使用。

串口接收緩沖器以及緩沖器大小在“ZQWL_IO_xBNRRx.h”文件中有定義:

poYBAGIQXymAeBaOAAAg7xzgwIc760.png
  1. RS232_Init函數

函數原型如下:

pYYBAGIQXyqAJ5L-AAC40ya62XI506.png

該函數為RS232串口初始化函數,如果要使用RS232通訊功能,必須調用該函數來初始化通訊相關參數。

舉例:

pYYBAGIQXyqATlHSAAAJX7g4oOg080.png

注意該函數的第三個參數parity,必須為以下三種:

poYBAGIQXyuAWQ6zAAADgx7TV4I798.png

如果該函數調用成功則返回值為0,否則返回相應的錯誤信息。

  1. RS485_Init函數

函數原型如下:

poYBAGIQXyuAdDF2AAC55-Cad34746.png

該函數為RS485串口初始化函數,如果要使用RS485通訊功能,必須調用該函數來初始化通訊相關參數。

舉例:

poYBAGIQXyuAG62XAAAJmpdRkFg714.png

注意該函數的第三個參數parity,必須為以下三種:

如果該函數調用成功則返回值為0,否則返回相應的錯誤信息。

  1. RS232_Send_Data函數

函數原型如下:

pYYBAGIQXyuAI045AABQJzCOlSQ024.png

該函數為串口發送函數,調用該函數前必須正確調用RS232_Init()函數。

舉例1,直接發送字符串:

RS232_Send_Data("1234567890",10);

舉例2,將數組中數據發送出去:

unsigned char temp[10];

RS232_Send_Data(temp,10);

  1. RS485_Send_Data函數

函數原型如下:

pYYBAGIQXyuAVEfhAABRCq7kB8U390.png

該函數為串口發送函數,調用該函數前必須正確調用RS485_Init()函數。

舉例1,直接發送字符串:

RS485_Send_Data("1234567890",10);

舉例2,將數組中數據發送出去:

unsigned char temp[10];

RS485_Send_Data(temp,10);

  1. RS232_Recv_Handler函數

函數原型如下:

poYBAGIQXyuARtC0AACQJOUVd2w806.png

該函數為類似中斷函數,不能被其他函數調用。必須在正確調用RS232_Init()函數后該函數才能生效。建議在該函數中首先將buff中的數據復制出來,然后退出,在別的函數中進行數據的處理。

舉例:

pYYBAGIQXyyAfhF5AAAl3qnsjvk987.png
  1. RS485_Recv_Handler函數

函數原型如下:

poYBAGIQXyyAF0mMAACOt9MbdL8662.png

該函數為類似中斷函數,不能被其他函數調用。必須在正確調用RS485_Init()函數后該函數才能生效。建議在該函數中首先將buff中的數據復制出來,然后退出,在別的函數中進行數據的處理。

舉例:

poYBAGIQXyyAdb69AAAjqCZYHEk125.png
  1. 系統指示燈相關函數

該系列控制板有1個系統LED指示燈,可以用來指示系統運行的狀態。

  1. RUN_LED_Toggle函數

函數原型如下:

pYYBAGIQXyyAMyZhAABNziPgoco773.png

此函數實現系統LED的狀態翻轉功能(調用后原來熄滅則會點亮,原來點亮則會熄滅)。

舉例:

RUN_LED_Toggle();//調用后,指示燈狀態翻轉。

  1. RUN_LED_ON函數

函數原型如下:

pYYBAGIQXyyANOnkAABKJCT4kDI349.png

舉例:

RUN_LED_ON();//點亮系統LED指示燈

  1. RUN_LED_OFF函數

函數原型如下:

poYBAGIQXyyANPPSAABKaON2I1M934.png

舉例:

RUN_LED_OFF();//熄滅系統LED指示燈

  1. 延時相關函數
    1. Delay_ms函數

函數原型如下:

pYYBAGIQXy2APC66AABDF9N_hJY181.png

舉例:

Delay_ms(500);//延時500毫秒。

Delay_ms(2000);//延時2000毫秒。

  1. Delay_us函數

函數原型如下:

poYBAGIQXy2AEBANAABRSBGt4sA051.png

舉例:

Delay_us(500);//延時500微秒。

Delay_us(999);//延時999微秒。

  1. 定時器相關函數
    1. Timer_IRQHandler函數

函數原型如下:

pYYBAGIQXy2AIKzSAAB1lBK8cPc237.png

該函數為中斷函數,不能被其他函數調用。每隔1ms中斷一次,用戶以此為基礎可以設計出各種定時服務功能。例如設計一個10ms定時服務功能:

poYBAGIQXy2AGjWrAABV7HPGjtQ878.png
  1. 看門狗相關函數
    1. IWDG_Init函數

函數原型如下:

pYYBAGIQXy2AJQYtAADJjzsd6uU012.png

舉例:

IWDG_Init(WD_1000MS);//設置看門狗定時器為1000毫秒。

IWDG_Init(WD_2000MS);//設置看門狗定時器為2000毫秒。

  1. Feed_Dog函數

函數原型如下:

poYBAGIQXy2Ac653AAAqwgAi4-4022.png

如果調用了IWDG_Init(),那么, Feed_Dog()函數就必須周期調用,并且調用周期必須小于看門狗定時器設定值。否則,系統將不斷的復位。

建議在產品開發階段先不用看門狗功能,產品發布時再加上此功能。

  1. Flash相關函數

該系列控制板均提供128字節的用戶flash空間,可以用來存放控制板掉電后需要保存的參數,比如波特率,地址碼等。

  1. User_Flash_Write函數

函數原型如下:

pYYBAGIQXy6ANQJwAACsPCHrvos325.png

舉例:

poYBAGIQXy6AKmuQAAAftixOKeU309.png
  1. User_Flash_Read函數

函數原型如下:

poYBAGIQXy6AQzaaAACdEBaX2AQ388.png

舉例:

pYYBAGIQXy6ABMfJAAAmKw6B5Xo012.png
  1. 系統異常相關函數
    1. HardFault_Handler函數

函數原型如下:

poYBAGIQXy6AQE5QAABY4XUDn4A871.png

當系統有異常時,比如指針操作不當、數組操作不當等,會進入此中斷。

  1. 系統復位相關函數
    1. MCU_Soft_Reset函數

函數原型如下:

pYYBAGIQXy-AQHRAAABEcZwYkgk065.png

調用該函數后,系統將復位。

  1. CAN相關函數

只有控制板硬件具有CAN通訊的版本才支持CAN相關函數。

CAN相關的數據結構定義:

poYBAGIQXzCAMtNnAAn_l79TetY226.png
  1. CAN_Configuration函數
poYBAGIQXy-AaFvTAALmY8GDNBU707.png

使用CAN通訊前必須正確調用該函數。

  1. CAN_Recv_IRQHandler函數
pYYBAGIQXy-ARIigAALgCnER7p8510.png

例如:

pYYBAGIQXzCAanuhAAS0lXg5cls865.png
  1. CAN_Send_Data函數
poYBAGIQXzCAWbo0AAMMYg8L2Hc267.png
  1. main函數

該函數為系統入口函數,提供如下示例:

pYYBAGIQXzCAPNKDAArS0oF0FZ8237.png
  1. 模塊編程
    1. 開發環境

該模塊開發環境使用keil 5.10版本(其他版本未驗證),有關keil的使用教程請參考其他開發文檔,keil5的安裝包在MDK5.zip里面。

在“軟件包”里有該控制板的keil5工程

打開“軟件包”:

pYYBAGIQXzGAUvmjAAAMLPY1U_w270.png

此即為該控制板的工程文件, 打開文件:

poYBAGIQXzGAKzJDAAAI_Bqb03w644.png

打開“Proj”:

pYYBAGIQXzGAJDYnAAA9kkYQ5kY261.png

雙擊上圖中的“pro”,則可以通過keil軟件打開該工程,工程配置如下:

poYBAGIQXzGAB8OcAAH5w5s_O6E180.png

有關KEIL軟件的使用請自己查找資料學習。

工程編譯后會生成一個IO_APP.bin文件(路徑:ZQWL_IO_APP(雙串口+CAN)_V1.2\project\BIN):

poYBAGIQXzGAc9WaAAAQE4j5SXw008.png

如果是其他網絡模塊,則需要將“xBXRA16_V1.0.lib”從工程中移除,再添加上相對應的lib文件即可(路徑在:ZQWL_IO_APP\App):

pYYBAGIQXzGAExM6AAALk31oNxI441.png
  1. 程序下載

智嵌串口IO模塊的固件是通過《智嵌物聯 串口繼電器控制板固件升級工具》來下載程序的:

pYYBAGIQXzKAFZO8AADIfz_Njy8864.png

點擊上圖的“瀏覽”,將編譯好的IO_APP.bin文件載入軟件,然后點“打開”,接點“開始升級”,即可實現固件的下載,下完成后自動運行:

poYBAGIQXzKAJfLzAACAUhOZa8Y362.png
  1. 程序出錯處理

在調試程序時難免會出現程序出錯,出錯后可能造成不能直接對模塊進行固件下載,這時需要按照如下步驟操作:

第一步:斷電。

第二步:將撥碼開關全部撥到OFF狀態(強制進入升級固件狀態)。

第三步:上電,此時看到模塊的運行燈快速閃爍,說明進入到了固件下載模式,此時就可以對模塊下載固件了。注意此過程中要保證撥碼開關一直全OFF狀態。

注意,智嵌物聯網ZQWL的部分網絡IO控制器也支持編程功能,如型號ZQWL-NET8880M,Smart IO,該類產品功能更強大。除此之外,智嵌物聯ZQWL新推出的Smart GW串口服務器也具有編程功能,該類產品通訊接口支持4G,網口,WIFI,CAN,RS485等,部分產品也具有IO擴展功能,性能更強大,使用更方便。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IO控制器
    +關注

    關注

    0

    文章

    25

    瀏覽量

    7537
收藏 人收藏

    評論

    相關推薦

    可編程邏輯控制器——安全威脅和解決方案

    電子發燒友網站提供《可編程邏輯控制器——安全威脅和解決方案.pdf》資料免費下載
    發表于 09-14 09:57 ?0次下載
    <b class='flag-5'>可編程</b>邏輯<b class='flag-5'>控制器</b>——安全威脅和解決方案

    可編程邏輯控制器的特點與用途

    隨著工業自動化技術的不斷發展,可編程邏輯控制器(PLC)作為其核心控制設備,發揮著至關重要的作用。PLC以其獨特的優勢,如可編程性、高可靠性、強大的計算能力、靈活的通信接口和可擴展性等
    的頭像 發表于 06-19 14:16 ?681次閱讀

    替換SiTime,汽車攝像頭可使用國產可編程振蕩

    替換SiTime,汽車攝像頭可使用國產可編程振蕩
    的頭像 發表于 06-18 09:34 ?241次閱讀
    替換SiTime,汽車攝像頭<b class='flag-5'>可使</b>用國產<b class='flag-5'>可編程</b>振蕩

    PLC編程語言C語言的區別

    在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器編程語言C
    的頭像 發表于 06-14 17:11 ?2540次閱讀

    變頻驅動可編程邏輯控制器的區別

    在工業自動化領域中,變頻驅動(變頻)和可編程邏輯控制器(PLC)是兩種重要的控制設備。它們各自具有獨特的功能和特性,并在工業自動化系統中
    的頭像 發表于 06-12 11:36 ?754次閱讀

    可編程電源如何編程

    可編程電源如何編程? 可編程電源是一種可以調節輸出電壓和電流的電源設備,廣泛應用于電子設備測試、研發和生產等領域。通過編程,用戶可以根據需要設置電源的輸出參數,實現自動化測試和
    的頭像 發表于 06-10 15:24 ?1221次閱讀

    可編程邏輯控制器和微控制器的區別

    在電子技術和工業自動化領域中,可編程邏輯控制器(PLC)和微控制器(MCU)是兩種常用的控制設備。盡管它們都扮演著在系統中接收指令并控制其他
    的頭像 發表于 06-03 14:52 ?760次閱讀

    聯網絡IO控制器接入智云控演示

    的網絡IO控制器(云版本)支持接入智云,實現設備的遠程
    的頭像 發表于 05-30 09:26 ?467次閱讀
    智<b class='flag-5'>嵌</b><b class='flag-5'>物</b>聯網絡<b class='flag-5'>IO</b><b class='flag-5'>控制器</b>接入智<b class='flag-5'>嵌</b>云控演示

    串口服務器成對使用模式演示

    成對連接模式的兩種拓撲 1.智串口服務器通過交換機連接 此種模式特點是,串口服務器都接到由交換機組成的局域網內(在一個網段內),用
    的頭像 發表于 05-30 08:33 ?368次閱讀
    智<b class='flag-5'>嵌</b><b class='flag-5'>物</b><b class='flag-5'>聯</b><b class='flag-5'>串口服務器</b>成對使用模式演示

    PLC(可編程邏輯控制器)的升級方式有哪些呢?

    PLC(可編程邏輯控制器)的升級通常包括硬件升級和軟件升級兩個方面。
    的頭像 發表于 05-27 11:26 ?688次閱讀

    可編程序控制器系統概述

    AB可編程序控制器系統
    發表于 05-23 14:26 ?8次下載

    PLC(可編程邏輯控制器)利用Modbus通訊可以完成哪些任務呢?

    PLC(可編程邏輯控制器)利用Modbus通訊可以完成多種任務,以下是其中的一些主要應用
    的頭像 發表于 04-11 15:41 ?601次閱讀

    極海APM32F407可編程邏輯控制器PLC應用概述

    PLC(可編程邏輯控制器)作為可控制、執行和監控自動化機器設備的數字運算操作電子系統
    的頭像 發表于 03-05 18:11 ?1233次閱讀
    極海APM32F407<b class='flag-5'>可編程</b>邏輯<b class='flag-5'>控制器</b>PLC應用概述

    可編程控制器原理及應用 可編程控制器常用的編程語言

    可編程控制器(Programmable Logic Controller,PLC)是一種專門的數字計算機,用于自動化生產過程中的控制和監測。 PLC的原理可以簡單概括為輸入-處理-輸出的過程。它接收
    的頭像 發表于 02-03 16:46 ?1055次閱讀

    可編程控制器的組成 可編程控制器有哪些特點?

    可編程控制器(Programmable Logic Controller,PLC)是一種使用數字計算機技術和專用外設實現工業過程自動化控制的設備。它在工業生產中起到了非常重要的作用。本文將詳細介紹
    的頭像 發表于 01-18 11:18 ?1419次閱讀