JMDM-32DIOMR工業(yè)級IO控制器,有十六路光電隔離數(shù)字量信號輸入,十六路繼電器開關(guān)量輸出,用單片機(jī)控制輸入輸出,也稱為32點單片機(jī)I/O工控板。
功能特性:
1、工作電源:DC12V~24V 1A或AC9V~18V 1A,穩(wěn)定可靠。
2、8位高性能單片機(jī)控制:程序存儲空間:32K;數(shù)據(jù)存儲空間:29K (若有特定需要),保存數(shù)據(jù),斷電數(shù)據(jù)不丟失。
3、兩種通信接口:
1)一路RS232和MAX485共用一個九針D型接口,可用來下載程序和與電腦等上位機(jī)通信,遠(yuǎn)距離發(fā)送信號
4、I/O:
十六路光電隔離數(shù)字量輸入:輸入電壓范圍為直流12V~24V;也可定制為5V(購買前需特別說明),輸入電流為5~10MA;可用于檢測外部各種信號的傳感器輸入,如光電傳感器、紅外傳感器、霍爾傳感器、接近開關(guān)、點動開關(guān)等數(shù)字量輸入器件等;數(shù)字量工作狀態(tài)指示燈:每路數(shù)字量輸入都有一個指示燈,方便觀察輸入點工作狀態(tài);
十六路繼電器輸出:無源干觸點形式,可直接控制:交流0~220V電壓,直流:0~30V電壓;每路最大輸出電流8A,輸出口狀態(tài)可回讀;
5、程序下載說明:連接好電腦和控制器之間的串口通訊線。使用STC-ISP下載軟件將編譯好的HEX文件下載到控制器。(注意:下載的過程中有一個手動斷電和上電的過程)。;
6、系統(tǒng)穩(wěn)定性:具有工業(yè)級防雷擊、抗強(qiáng)電磁干擾、高可靠性能,無死機(jī)現(xiàn)象。繼電器輸出采用高頻濾除電路,產(chǎn)生極小的諧波;使系統(tǒng)具有極高的穩(wěn)定性和極長的工作壽命;
7、言編寫3種工作方式:支持獨(dú)立控制(根據(jù)KEIL C語的程序邏輯自動控制)、RS232串口監(jiān)控(需編寫上位機(jī)、下位機(jī)程序)2種方式;
串口控制模式下通信協(xié)議:
通信波特率為:9600 沒有校驗,數(shù)據(jù)位是八,停止位是一位.
1、地址設(shè)定,電腦發(fā)送以下字符串給控制器,可設(shè)定地址是00.
OA(00)E
2、電腦發(fā)送到控制器:
第一路繼電器輸出: 關(guān):O(00,01,0)E,開:O(00,01,1)E;
第二路繼電器輸出: 關(guān):O(00,02,0)E,開:O(00,02,1)E;
第三路繼電器輸出: 關(guān):O(00,03,0)E,開:O(00,03,1)E;
第四路繼電器輸出: 關(guān):O(00,04,0)E,開:O(00,04,1)E;
........
第16路繼電器輸出: 關(guān):O(00,16,0)E,開:O(00,16,1)E;
16路全部繼電器輸出: 關(guān):O(00,00,0)E,開:O(00,00,1)E;
讀取輸入點狀態(tài): O(00,21,1)E 讀取輸入點的狀態(tài)。
讀取輸出點狀態(tài): O(00,22,1)E 讀取輸出點的狀態(tài)。
3、控制器發(fā)送到電腦輸入點狀態(tài)
I(00,0000000000000000)E 后面10個數(shù)字對應(yīng)10個輸入點的狀態(tài),0為沒有輸入,1為有輸入。
4、控制器發(fā)送到電腦輸出點狀態(tài):
O(00,0000000000000000)E 后面10個數(shù)字對應(yīng)10個輸出點的狀態(tài),0為沒有輸出,1為有輸出。

編程說明:
在KEIL C編程環(huán)境下,本公司提供編程范例,客戶可在此基礎(chǔ)上二次開發(fā)應(yīng)用程序。
1.控制單個繼電器輸出點:
#define OUT1 P3_7 第一個繼電器輸出端口定義;
#define OUT2 P4_0 第二個繼電器輸出端口定義;
#define OUT3 P2_0 第三個繼電器輸出端口定義;
#define OUT4 P2_1 第四個繼電器輸出端口定義;
#define OUT5 P2_2 第五個繼電器輸出端口定義;
#define OUT6 P2_3 第六個繼電器輸出端口定義;
#define OUT7 P2_4 第七個繼電器輸出端口定義;
#define OUT8 P2_5 第八個繼電器輸出端口定義;
#define OUT9 P3_2 第九個繼電器輸出端口定義;
#define OUT10 P4_3 第十個繼電器輸出端口定義;
#define OUT11 P1_7 第十一個繼電器輸出端口定義;
#define OUT12 P1_6 第十二個繼電器輸出端口定義;
#define OUT13 P3_6 第十三個繼電器輸出端口定義;
#define OUT14 P3_5 第十四個繼電器輸出端口定義;
#define OUT15 P3_4 第十五個繼電器輸出端口定義;
#define OUT16 P3_3 第十六個繼電器輸出端口定義;
OUT3 =0; 關(guān)閉第三個繼電器;
OUT3 =1; 打開第三個繼電器;
2.讀輸入點命令:
#define IN1 P0_0 第一個輸入點定義;
#define IN2 P0_1 第二個輸入點定義;
#define IN3 P0_2 第三個輸入點定義;
#define IN4 P0_3 第四個輸入點定義;
#define IN5 P0_4 第五個輸入點定義;
#define IN6 P0_5 第六個輸入點定義;
#define IN7 P0_6 第七個輸入點定義;
#define IN8 P0_7 第八個輸入點定義;
#define IN9 P1_2 第九個輸入點定義;
#define IN10 P1_1 第十個輸入點定義;
#define IN11 P1_0 第十一個輸入點定義;
#define IN12 P4_2 第十二個輸入點定義;
#define IN13 P4_5 第十三個輸入點定義;
#define IN14 P2_6 第十四個輸入點定義;
#define IN15 P4_4 第十五個輸入點定義;
#define IN16 P4_1 第十六個輸入點定義;
if((IN3 ==0)&& (IN3 ==0)) 判斷第三個輸入信號有沒有信號輸入;


|