下载链接链接:
[https://download.csdn.net/download/weixin_41617063/85373149]
软件说明
一、软件基础功能:
a、串口接收。
b、串口发送。
c、接收显示 HEX 格式 或 ASCII格式。
d、接收数据保存。
e、定时发送。
二、软件扩展功能:
a、软件支持 JScript VBScript JavaScript 三种脚本语言的单线程编程操作。
b、支持脚本语言的编辑、加载、单次运行、连续运行操作。
三、关于软件数据接收窗口,软件数据接收窗口包含以下:
串口数据接收显示(白色字体显示)
串口发送数据显示()
脚本OSD 系统检测信息显示
脚本函数打印输出信息显示
注:当实时显示数据量过大时,显示窗体会删除掉部分内容。
可通过保存记录的方式查看历史数据。
保存记录的历史数据包含信息主体及时间戳。
四、脚本说明
脚本内嵌工程:
My IsenCom软件 串口接收发送相关方法 和 窗口操作相关方法
CRC 16位Crc校验相关的方法
Timer 内部定时器相关的方法
My 相关函数:
1、 接收窗口打印输出。 VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:要显示的字符串
输出参数:无
注:当输入参数为 null 或错误的格式时,
系统窗口会 输出 Print null 或 Print ERR
函数主体:My.Print(object _str)
2、 串口输出byte 数组 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:要输出的byte数组显示的字符串
输出参数:
串口无效或没有打开时:false :No SerialPort Or Invalid SerialPort
输入数据错误时 :"false : data in wrong format"
数据转换错误时 :"false : data in wrong format"
其他错误 :"false"
串口输出进栈OK :true
函数主体:object My.PortSendByte(object _obj)
3、 串口输出字符串 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:要输出的字符串
输出参数:
串口无效或没有打开时:"false :No SerialPort Or Invalid SerialPort"
其他错误 :"false"
串口输出进栈OK :true
函数主体:object My.PortSendStr(object _obj)
4、 获取串口输入 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:无
输出参数:
串口接收框收到的数据
HEX格式:HEX:...
ASC格式:ASC:...
...为 接收到数据的字符显示
举例:收到 HEX数据 02 05 => "HEX:0205"
收到 ASC数据 "02 05" => "ASC:02 05"
函数主体:object My.GetPortData(object _obj)
5、 清除接收缓存中的数据 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:无
输出参数: "true"
函数主体:object My.ClearPortData()
6、 获取发送窗口的输入 。仅VBScript 适用。
输入参数: 数字; 范围 报文的No号
输出参数:
报文的格式及内容依次为:
object[0]: ASC 或 HEX => ASC 报文为ASC格式,HEX 报文为HEX的字符串格式
object[1]: 报文内容
函数主体:object[] My.GetSendBox(int _num)
7、 获取发送窗口的输入 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: 数字; 范围 报文的No号
输出参数:
报文的格式及内容的字符串
HEX 报文返回:"HEX:..." ...为HEX的字符串格式,位数肯定为偶数
ASC 报文返回:"ASC:..." ...为ASC字符串
函数主体:object My.GetSendBoxs(int _num)
8、 将校验值的ASC字符串填写进报文内 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: 报文NO号,校验值的ASC字符串
输出参数: 报文号错误:false : num Err
上次报文填写没有刷新:"false: No Refresh"
函数主体:object My.WriteToSendBoxCK(int num,string ck)
9、 修改或填写报文内容 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:
int num, string name, string msg, string ck, bool send, int tick
报文号、报文名称、报文内容的ASC字符串、校验字符串、使能、下条报文间隔时间
输出参数: 报文号错误:false : num Err
上次报文填写没有刷新:"false: No Refresh"
函数主体:object My.WriteToSendBox
(int num, string name, string msg, string ck, bool send, int tick)
10、插入报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:
int num, string name, string msg, string ck, bool send, int tick
报文号、报文名称、报文内容的ASC字符串、校验字符串、使能、下条报文间隔时间
输出参数: 报文号错误:false : num Err
上次报文填写没有刷新:"false: No Refresh"
函数主体:object My.InsertToSendBox
(int num, string name, string msg, string ck, bool send, int tick)
11、追加报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:
int num, string name, string msg, string ck, bool send, int tick
报文号、报文名称、报文内容的ASC字符串、校验字符串、使能、下条报文间隔时间
输出参数: 上次报文填写没有刷新:"false: No Refresh"
函数主体:object My.AppendToSendBox
(int num, string name, string msg, string ck, bool send, int tick)
12、单次发送报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: 发送报文的序号
发送0、1和3号报文 输入参数为"0,1,3"; 英文标点逗号作为间隔
输出参数: 数据格式错误 : "false : Invalid Input"
报文号超范围 : "false : Input Data out of range"
无输入 :"false : Input null";
上次报文填写没有刷新:"false: No Refresh"
函数主体:object My.SignalSendBox(object _obj)
13、持续发送报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: 发送报文的序号
发送0、1和3号报文 输入参数为"0,1,3"; 英文标点逗号作为间隔
输出参数: 数据格式错误 : "false : Invalid Input"
报文号超范围 : "false : Input Data out of range"
无输入 :"false : Input null";
上次报文填写没有刷新:"false: No Refresh"
函数主体:object My.RunSendBox(object _obj)
14、停止发送报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: 无
输出参数: true 或 "false"
函数主体:object My.StopSend()
CRC 16位Crc校验相关的方法 该方法只适用于16位CRC校验
1、设置CRC校验的参数 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:
int _initData, int _polynomial, bool in_invers,
bool out_invers,int width,int _outOr
初始值、多项式、输入反向、输出反向、位宽、输出异或值
注:位宽只适用于16位.
输出参数:"true";
"false: width Invalid Input"
函数主体:
object CRC.CrcInitDat
( int _initData, int _polynomial, bool in_invers,
bool out_invers,int width,int _outOr)
2、设置HEX CRC校验 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数:HEX数据的 ASC字符串
输出参数:校验值(int 型数据)
函数主体:object CRC.GetCrcByte(string _str)
3、设置ASC CRC校验 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: ASC字符串
输出参数:校验值(int 型数据)
函数主体:object CRC.GetCrcStr(string _str)
Timer 内部定时器相关的方法
1、设置定时器参数 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: int _which, int _count
定时器号 0~99
计数值:0~ 100000
输出参数:"true";
"false: width Invalid Input"
该函数只负责初始化启动。
函数主体:object Timer.InitTimer(int _which, int _count)
2、查询计数器是否达到 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: int _which
定时器号 0~99
输出参数:时间到: "true";
时间不到: "false";
输入数据错误: "false: width Invalid Input"
函数主体:object Timer. TimedTo(int _which)
3、 查询计数器值 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: int _which
定时器号 0~99
输出参数: 输入数据错误: "false: width Invalid Input"
输入数据正确:返回 int 型数值.
函数主体:object Timer. GetTimerCount(int _which)
4、 定时器复位,从头计数 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: int _which
定时器号 0~99
输出参数: 不满足条件复位,定时器没有到达时间: false
定时器复位OK : true
函数主体:object Timer. ResetTimer(int _which)
5、 定时器停止,从头计数 。VBScript、JScript、 JavaScript 三种脚本均可适用。
输入参数: 无
输出参数: 无
函数主体:object Timer. StopTimer(int _which)