JMDM-32DIOMR工业级IO控制器,有十六路光电隔离数字量信号输入,十六路继电器开关量输出,用单片机控制输入输出,也称为32点单片机I/O工控板。
功能特性:
1、工作电源:DC12V~24V 1A或AC9V~18V 1A,稳定可靠。
2、8位高性能单片机控制:程序存储空间:32K;数据存储空间:29K (若有特定需要),保存数据,断电数据不丢失。
3、两种通信接口:
1)一路RS232和MAX485共用一个九针D型接口,可用来下载程序和与电脑等上位机通信,远距离发送信号
4、I/O:
十六路光电隔离数字量输入:输入电压范围为直流12V~24V;也可定制为5V(购买前需特别说明),输入电流为5~10MA;可用于检测外部各种信号的传感器输入,如光电传感器、红外传感器、霍尔传感器、接近开关、点动开关等数字量输入器件等;数字量工作状态指示灯:每路数字量输入都有一个指示灯,方便观察输入点工作状态;
十六路继电器输出:无源干触点形式,可直接控制:交流0~220V电压,直流:0~30V电压;每路最大输出电流8A,输出口状态可回读;
5、程序下载说明:连接好电脑和控制器之间的串口通讯线。使用STC-ISP下载软件将编译好的HEX文件下载到控制器。(注意:下载的过程中有一个手动断电和上电的过程)。;
6、系统稳定性:具有工业级防雷击、抗强电磁干扰、高可靠性能,无死机现象。继电器输出采用高频滤除电路,产生极小的谐波;使系统具有极高的稳定性和极长的工作寿命;
7、言编写3种工作方式:支持独立控制(根据KEIL C语的程序逻辑自动控制)、RS232串口监控(需编写上位机、下位机程序)2种方式;
串口控制模式下通信协议:
通信波特率为:9600 没有校验,数据位是八,停止位是一位.
1、地址设定,电脑发送以下字符串给控制器,可设定地址是00.
OA(00)E
2、电脑发送到控制器:
第一路继电器输出: 关:O(00,01,0)E,开:O(00,01,1)E;
第二路继电器输出: 关:O(00,02,0)E,开:O(00,02,1)E;
第三路继电器输出: 关:O(00,03,0)E,开:O(00,03,1)E;
第四路继电器输出: 关:O(00,04,0)E,开:O(00,04,1)E;
........
第16路继电器输出: 关:O(00,16,0)E,开:O(00,16,1)E;
16路全部继电器输出: 关:O(00,00,0)E,开:O(00,00,1)E;
读取输入点状态: O(00,21,1)E 读取输入点的状态。
读取输出点状态: O(00,22,1)E 读取输出点的状态。
3、控制器发送到电脑输入点状态
I(00,0000000000000000)E 后面10个数字对应10个输入点的状态,0为没有输入,1为有输入。
4、控制器发送到电脑输出点状态:
O(00,0000000000000000)E 后面10个数字对应10个输出点的状态,0为没有输出,1为有输出。
编程说明:
在KEIL C编程环境下,本公司提供编程范例,客户可在此基础上二次开发应用程序。
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; 关闭第三个继电器;
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)) 判断第三个输入信号有没有信号输入;
|