2.0内核软件使用说明
一、软件介绍
2.0内核软件是信科电子自主研发的一款编程软件,适用于给所有支持2.0内核编程功能的继电器模块编程使用,软件可以很方便的设置输入触发条件和输出结果。输入事件与输出结果对应存在,全中文编辑,方便客户编程使用。
二、软件的运行原理
模块固定周期时间片执行一个轮回,每个轮回从第一条指令执行到最后一条指令,然后程序停止,等待下一个周期执行,默认情况下,一个周期为10毫秒,也就是说,一秒钟执行100个周期,每个周期从第一条指令执行到最后一条指令。但有一些实时控制类输入输出并不在此范围之内。内部定时器每10毫秒进行一次加1或者减1操作,默认为减1操作。
三、软件界面及各功能介绍
用户界面:上图所示为2.0内核用户编辑界面,上图界面中显示的一共有6个事件,每一个事件设置包含输入和输出两部分,模块检测到输入成立的时候,会执行与这个输入所对应的输出。
各个按键及功能介绍
1、【文件】包括:新建、打开、保存、另存和退出
新建:即新建一个空白文件
打开:与下面的打开按钮功能一致,即打开某一个编辑好的文件
保存:与下面的保存按钮功能一致,即将编辑好的文件保存下来
另存:与下面的另存按钮功能一致,即将文件另存到指定位置
退出:即退出当前界面,也就是关闭当前软件
2、【设置】包括:串口设置、编辑数据包、写入数据包列表、读取数据包列表、通讯地址设置
2-1、串口设置:与下面的设置按钮功能一致,即设置串口信息
用户在这里选择正确的串口号,还可以设置是否自动打开串口、是否自动打开文件,单击连接即打开串口
再串口连接的状态下,再设置串口,连接即是关闭串口
2-2、编辑数据包:根据用户自己的功能需求,编辑数据包
数据包:预先存储在内部存储器中的数据集合,用户可以将数据包作为输入输出参数,比如,接收到数据包1后,输出状态翻转,用户可以用串口调试助手发送这个数据包中的数据,输出翻转。数据包的内容是由用户事先设定好的。
一个数据包列表最多可以编辑32个数据包,每个数据包最大可容纳50个字节,数据包的内容可以是16进制数据、汉字、英文字母、符号或ASC码,也可以是它们的组合,其中一个16进制数据为8个字节、一个汉字2个字节、一个英文字母1个字节、一个符号1个字节、一个ASC码1个字节
:将编辑好的数据包写入到模块存储器内
:将模块存储器内的数据库包读取出来
:数据包内容编辑指令向导,为了方便用户控制本公司的智能开关产品,特制作了指令向导,方便用户编辑使用的。
【地址】包含0-255一共256个地址,指示的是所要控制的目标继电器板的板地址
选择目标地址、选择所需功能、根据功能需要正确填写4个数据项,然后单击【生成】按钮,在右侧会出现一个16进制数据
然后单击【OK】按钮,确认
:即【确定】按钮,编辑好指令后,单击确定编辑,即完成一个数据包的编写
:没有任何作用,点击无效
:刷新当前界面
:选择所要编辑的数据包是否为16进制数据
数据包内容的编辑及显示区域,可显示数据包中的内容
指令向导中各功能介绍
【功能】包含:查询、关闭某一路、打开某一路、翻转某一路、命令执行、组断开、组吸合、组翻转、延时断开某一路、延时吸合某一路
1、查询:查询所有继电器的状态,与数据1、数据2、数据3、数据4无关,可以任意填写
2、关闭某一路:数据1、数据2、数据3为默认的0即可,数据4代表要关闭的第几路,比如关闭第1路,数据4即为1,数据1-3均为0
3、打开某一路和翻转某一路与关闭某一路同理设置
4、命令执行:执行某一特定命令,根据用户需要设定。方法如下:
“1”代表吸合,“0”代表断开,从右向左依次代表第1路、第2路······
比如“101010”代表第1路、第3路、第5路断开,第2路、第4路、第6路吸合。先将这个数字转换为16进制数字为“2A”,再转换为十进制数字为“42”,那么将这个十进制的数字“42”填入数据4,生成字符串“55 01 13 00 00 00 2A 93”,确认后即完成这个命令执行的设置
再如,用户想要设置第1、5、8、10、15、16路吸合,其余断开,那么首先设置一个二进制数据即为“1100001010010001”,将这个二进制数据转换为16进制即为“C291”将这个16进制数字分为两部分分别为“C2”和“91”,再将这2部分分别转换为十进制数字为“194”和“145”,将这2个十进制数字填入数据3和数据4,(其中数据3代表9-16路,数据4代表1-8路,而上面所述194代表9-16路、145代表1-8路),生成字符串“55 01 13 00 00 C2 91 BC”,确定后即完成这个命令执行的设置。
5、组断开:“1”代表执行,“0”代表不执行,从右向左依次代表第1路、第2路······比如“01011010”代表第2、4、5、7路执行组断开这一命令,第1、3、6、8路不执行组断开这一命令。
先将这个二进制数字转换成16进制数字为“5A”,再将这个16进制数字“5A”转换成十进制数字为“90”,然后将这个十进制数字填入数据4,生成字符串“55 01 14 00 00 00 5A C4”,确定后即完成这个组断开命令的设置。
再如:用户想设置第2、6、7、9、12、15路组断开,那么首先设置一个二进制数字为“0100100101100010” 将这个二进制数据转换为16进制即为“4962”将这个16进制数字分为两部分分别为“49”和“62”,再将这2部分分别转换为十进制数字为“73”和“98”,将这2个十进制数字填入数据3和数据4,(其中数据3代表9-16路,数据4代表1-8路,而上面所述“73”代表9-16路、“98”代表1-8路),生成字符串“55 01 14 00 00 49 62 15”,确定后即完成这个组断开命令的设置。
6、组吸合和组翻转与组断开同理设置
7、延时断开某一路:继电器吸合后延时一段时间再断开
数据1*65536+数据2*256+数据3=延时的时间(单位毫秒),数据4代表第几路
比如:数据1为“2”、数据2为“100”、数据3为“200”那么延时的时间即为2*65536+100*256+200=156872毫秒,也就是156.872秒
再如用户想要设置第3路延时16秒断开,即16000毫秒,用16000除以256商62余128,即16000=62*256+128,由此可以看出数据1应为0、数据2应为62、数据3应为128,然后将“0”、“62”、“128”、“3”分别填入数据1、数据2、数据3、数据4,生成字符串“55 01 21 00 3E 80 03 38”, 确定后即完成这个延时断开命令的设置。(需注意:执行延时断开命令时,如果继电器原本的状态就是断开,那么继电器要先吸合下,延时所设置的时间后再断开)
8、延时吸合某一路与延时断开某一路同理设置
2-3、写入数据包列表:将编辑好的数据包列表写入到模块存储器内
2-4、读取数据包列表:将模块存储器内的数据包列表读取出来,显示的界面上
2-5、通讯地址设置:软件设置通讯地址,要与模块拨码开关设置的地址要一致
直接输入目标地址,单击确定,软件上有显示
拨码开关设置地址的方法
拨码开关为2进制设置,拨码开关上的【1,2,3,4】分别代表【1,2,4,8】,比如开关上的【1,2】全为on时,模块的实际地址为3即【1+2】,开关上的【1,3】为on时,模块的实际地址为5即【1+4】,以此类推。
3、【工具】包括:添加、添加到选中项之前、添加到选中项之后、删除、删除全部
3-1、添加:添加信息,包括输入条件和输出结果两部分
(一)输入部分包括:外部输入、输出状态变化、定时器、中间继电器、内部变量、设备上电、接收口1接收到数据包、接收口2接收到数据包、无线遥控器、红外遥控器、时间设定、日期 年 设定、日期 月 设定、日期 日 设定、星期设定、接收到固定字符串、接收到临时数据
各项功能介绍
输入检测是一个无源的开关量输入信号检测,输入检测可以是边沿检测,也可以是持续性的状态检测。输入为持续性的状态检测时,输入条件即为持续的信号,比如把第一路断开作为条件,那么,第一路断开时,这个条件会一直成立,如果以这个条件翻转某一路继电器,那么继电器将会持续翻转(即跳闪不停)一秒钟可翻转一百次(周期10ms)!输入为边沿检测时,只有输入的状态发生改变时(即发生变化的那一时刻),才会发生一次边沿输入信号,比如第一路输入断开到闭合作为条件,第一路输出继电器状态翻转作为结果,那么只有当输入1在断开到闭合的一瞬间第一路继电器才会发生状态翻转。一般情况下建议使用边沿检测!
参数1代表外部输入的第几路输入,参数2代表输入的状态(包括断开、闭合、断开到闭合、闭合到断开、状态翻转)
2、输出状态变化:继电器开关量输出,一般是无源的开关量输出。
继电器状态分为【吸合】、【断开】、【翻转】三种,【翻转】就是根据当前的状态切换到与当前的状态相反的状态,吸合便断开,断开便吸合。
参数1代表继电器输出的第几路输出也就是第几路继电器,参数2代表继电器的状态(包括断开、闭合、断开到闭合、闭合到断开、状态翻转)
3、定时器:程序内部的定时工具,复位时默认采用单位时间减一定时模式,用户也可以设置为其他模式,如单位时间加一或者维持原来的值不变。
定时器在每个程序轮回的结束进行增加或者减少操作,无特殊说明,定时器每一百分之一秒进行一次加一或者减一操作。如果在本轮回中,有定时器赋值指令,当时就进行了赋值,轮回结束的时候,依然会进行加一或者减一操作
参数1代表第几个定时器,软件最多支持32个定时器,参数2包括大于、小于、等于、大于等于、小于等于、不等于、运行中、单位时间加1、单位时间减1、运行中但因达到边界而停止、停止运行单位时间不变,参数3是对参数2的赋值。
4、中间继电器:设备内部虚拟的一个开关量,一般用作标志来使用,用户可以像操作输出继电器一样操作中间继电器,只是没有实际的输出。
参数1代表第几个中间继电器,软件最多支持32个中间继电器,参数2代表中间继电器的输出状态(包括断开、闭合、断开到闭合、闭合到断开、状态翻转)
5、内部变量:32位的整数,正数。用户可以采用内部变量进行四则混和运算(此运算主要用于添加输出),内部变量的典型应用,做计数器,检测到外部输入边沿后,内部变量加一,最终变量的大小就是脉冲的个数。
参数1代表第几个内部变量,软件最多支持32个内部变量,参数2代表对内部变量的运算规则,包括(大于、小于、等于、大于等于、小于等于、不等于、允许改变值、不允许改变值、因其它值变为目标值),参数3是对参数2的赋值
6、设备上电:给设备供电,参数1、2、3、4没有任何意义
7、接收到数据包:分为接收口1接收到数据包和接收口2接收到数据包,根据模块实际情况选择,模块只有1个通讯接口的则为接收口1接收,模块有2个接收口的要分清楚是哪个口接收,一般情况下模块有串口和485口的,串口为数据口1也就是接收口1,485口为数据口2,模块有网口和485口的,网口为数据口1,485口为数据口2
数据包:预先存储在内部存储器中的数据集合,可以通过软件编辑写入或者读出,数据包的编写方法请参看上面所介绍的编辑数据包的方法
参数1代表哪一个数据包,软件最多支持32个数据包,参数2代表波特率,本单位产品波特率都为固定的“9600”
8、无线遥控器:此功能只适用于本单位支持315M无线遥控器控制的可编程继电器模块
参数1代表遥控器的参数类型,本单位产品目前只支持315M无线设备,不支持433M,参数2为自动弹出,参数3和参数4为遥控器的参数,光标放到参数3的位置,按下遥控器,会自动弹出遥控器的参数,单击确定即可
9、红外遥控器:此功能只适用于本单位支持红外遥控器控制的可编程继电器模块,使用方法和无线遥控器控制方法一致,在此不做过多说明
10、时间设定:需要硬件配套有时钟模块。根据当前的时间,作出相应的判断。
参数1是对所设置的时间的说明,包括(进入时刻、退出时刻、大于、小于、等于、大于等于、小于等于、不等于),参数2是所设置的时间格式说明,参数3是所要设置的时间
11、日期 年 设定:需要硬件配套有时钟模块。根据当前的时间,作出相应的判断。
参数1是对所设置的时间的说明,包括(进入时刻、退出时刻、大于、小于、等于、大于等于、小于等于、不等于),参数2是所要设置的年份,模块最多支持设置到2035年
12、【日期 月 设定】和【日期 日 设定】与【日期 年 设定】方法一致,此处不做过多说明
13、星期设定:需要硬件配套有时钟模块。根据当前的时间,作出相应的判断。
参数1是对所设置的星期的说明,包括(进入时刻、退出时刻、大于、小于、等于、大于等于、小于等于、不等于),参数2是所要设置的星期,包括(星期1、2、3、4、5、6、7、周一到周日、周一到周六、周一到周五、周一三五、周二四六、周六日)
14、接收固定字符串:指接收到某一串字符串,字符串可以是中文英文或者数字符号或者任意符号的组合
参数1为接收字符串的数据口,根据继电器模块的实际情况正确选择,关于数据口的说明请参看上面所述的“接收数据包”里面的说明,参数2代表波特率,本单位产品波特率固定为“9600”,数据3代表所接收的字符串的内容,字符串的内容根据用户需要自行编写
15、接收到临时数据:以二进制的方式接收到数据,用户可以自己编辑模块接收到某几个字节的数据作为输入触发条件。
参数1为接收临时数据的数据口,根据继电器模块的实际情况正确选择,关于数据口的说明请参看上面所述的“接收数据包”里面的说明,参数2代表波特率,本单位产品波特率固定为“9600”,数据3代表所接收的临时数据内容,数据的内容根据用户需要自行编写
(二)输出部分包括:输出状态变化、定时器、中间继电器、内部变量、串口1发送数据包、串口2发送数据包、无线发射、红外发射、批量操作内部资源、发送固定字符串,发送固定数据、操作联机开关量输出设备、操作联机Modbus设备
各项功能介绍:
1、输出状态变化:继电器开关量输出,一般是无缘的开关量输出。
继电器状态分为【吸合】、【断开】、【翻转】三种,【翻转】就是根据当前的状态切换到与当前的状态相反的状态,吸合便断开,断开便吸合。
参数1代表第几路继电器输出,参数2代表继电器输出的状态,包括(断开、闭合、状态翻转、状态改变使能、状态改变不使能)
状态改变使能就是使状态改变成为可能,状态改变不使能就是状态改变不可能,此设置可避免误操作,软件默认设置为状态改变使能
2、定时器:程序内部的定时工具,复位时默认采用单位时间减一定时模式,用户也可以设置为其他模式,如单位时间加一或者维持原来的值不变。
定时器在每个程序轮回的结束进行增加或者减少操作,无特殊说明,定时器每一百分之一秒进行一次加一或者减一操作。如果在本轮回中,有定时器赋值指令,当时就进行了赋值,轮回结束的时候,依然会进行加一或者减一操作
参数1代表第几个定时器,软件最多支持32个定时器,参数2包括等于、单位时间加1、单位时间减1、停止定时,参数3是对参数2的赋值。
3、中间继电器:设备内部虚拟的一个开关量,一般用作标志来使用,用户可以像操作输出继电器一样操作中间继电器,只是没有实际的输出。
参数1代表第几路中间继电器输出,参数2代表中间继电器输出的状态,包括(断开、闭合、状态翻转、状态改变使能、状态改变不使能)
4、内部变量:32位的整数,正数。用户可以采用内部变量进行四则混和运算,内部变量的典型应用,做计数器,检测到外部输入边沿后,内部变量加一,最终变量的大小就是脉冲的个数。
参数1代表第几个内部变量,软件最多支持32个内部变量,参数2代表对内部变量的运算规则,包括(等于、允许改变值、不允许改变值、加上某值、减去某值、乘以某值、除以某值),参数3是对参数2的赋值
5、发送数据包
参数1代表哪一个数据包,软件最多支持32个数据包,参数2代表波特率,本单位产品波特率都为固定的“9600”,关于数据包和数据包的编写方法上面已有介绍,此处不重复说明
6、【无线发射】与【红外发射】,目前本单位的继电器模块暂不支持此功能
7、批量操作内部资源
参数1代表哪些内部资源,包括(全部输出、全部中间继电器、全部定时器、全部内部变量),参数2代表对这些内部资源的操作说明,包括(清零、赋值为参数3),参数3只有对这些内部资源赋值时才有意义。
8、发送固定字符串:输出结果可以是发送固定字符串,发送的字符串可以是16进制数据、中文、英文或者任意字符:
参数1为发送字符串的数据口,根据继电器模块的实际情况正确选择,关于数据口的说明请参看上面所述的“接收数据包”里面的说明,参数2代表波特率,本单位产品波特率固定为“9600”,数据3代表所发送的字符串的内容,字符串的内容根据用户需要自行编写
9、发送固定数据:固定数据为16进制数据
参数1为发送固定数据的数据口,根据继电器模块的实际情况正确选择,关于数据口的说明请参看上面所述的“接收数据包”里面的说明,参数2代表波特率,本单位产品波特率固定为“9600”,数据3代表所发送的固定数据内容,数据的内容根据用户需要自行编写
10、操作联机开关量输出设备:指的是操作本公司继电器配套模块,也就是普通的继电器模块,扩展输出口。
参数1代表所要操作的哪个数据口哪个地址,包括2个数据口,每个数据口0-99个地址,参数2代表对联机设备的具体操作,包括闭合某一路、断开某一路、翻转某一路(此时参数3代表第几路)、命令执行(此时参数3代表新状态)、组断开、组吸合、组翻转(此时参数3代表哪几路)、闭合所有、断开所有(参数3无意义)、功能码:0---功能码:200
(功能码的具体含义请查看“继电器板通信协议”,0-200个功能码中有一部分功能码是没有意义的)
【10-1】、命令执行参数3的设置:执行某一特定命令,根据用户需要设定。方法如下:
“1”代表吸合,“0”代表断开,从右向左依次代表第1路、第2路······
比如“101010”代表第1路、第3路、第5路断开,第2路、第4路、第6路吸合。先将这个数字转换为16进制数字为“2A”,再转换为十进制数字为“42”,那么将这个十进制的数字“42”填入数据3,确认后即完成这个命令执行的设置
再如,用户想要设置第1、5、8、10、15、16路吸合,其余断开,那么首先设置一个二进制数据即为“1100001010010001”,将这个二进制数据转换为16进制即为“C291”将这个16进制数字转换为十进制数字为“49809”,将这个十进制数字填入数据3,确定后即完成这个命令执行的设置。
【10-2】、组断开参数3的设置:“1”代表执行,“0”代表不执行,从右向左依次代表第1路、第2路······比如“01011010”代表第2、4、5、7路执行组断开这一命令,第1、3、6、8路不执行组断开这一命令。
先将这个二进制数字转换成16进制数字为“5A”,再将这个16进制数字“5A”转换成十进制数字为“90”,然后将这个十进制数字填入数据3,确定后即完成这个组断开命令的设置。
再如:用户想设置第2、6、7、9、12、15路组断开,那么首先设置一个二进制数字为“0100100101100010” 将这个二进制数据转换为16进制即为“4962”将这个16进制数字转换为十进制数字为“18786”,将这个十进制数字填入数据3,确定后即完成这个组断开命令的设置。
11、操作联机Modbus设备:指的是支持modbus的联机设备。命令格式为rtu格式,波特率9600,发送出的联机modbus指令是八个字节,依次是地址1字节,功能码1字节,寄存器地址2字节,寄存器值2字节。使用此功能时,用户需要确保发送的指令是合法的,本模块没有自带合法性检查,只是帮助做出了CRC16校验。
参数1代表所要操作的哪个数据口哪个功能码,包括2个数据口,每个数据口0-99个功能码,参数2代表联机Modbus设备的地址,包括0-253个地址
(功能码的具体含义请查看“继电器板通信协议”,0-200个功能码中有一部分功能码是没有意义的)
3-2、添加到选中项之前:是指将信息添加到所选中的那一项的之前一项
3-3、添加到选中项之后:是指将信息添加到所选中的那一项的之后一项
3-4、删除:删除所选中的信息
3-5、删除全部:删除当前界面所显示的全部信息
4、【通信】包括:读取全部、写入全部、校准时间、读取模块时间
4-1、读取全部:将模块存储器内部的信息读取出来,页面上显示
4-2、写入全部:将编辑好的信息全部写入到模块存储器内部
4-3、校准时间:针对带时钟的模块,也称对时,即将模块时钟上的时间和电脑时间进行校准,使其一致
4-4、读取模块时间:同样针对于带时钟的模块,读取模块时钟显示的当前时间
本软件最多支持编写3000个字节的程序内容,软件上有显示程序的大小
编辑前,编辑部分程序信息后