测试方法
测试使用的虚拟串口创建两个虚拟串口com1与com2相互通信
触摸屏使用串口com1,串口调试助手使用com2 这样仿真后可以通过串口调试助手进行接收和模拟数据发送给触摸屏进行调试
主功能脚本
'消息显示区内容
IF !len(ReadData)=1 OR 系统退出=1 THEN
消息="系统断开,请点击“系统复位”后,重新尝试系统连接"
ENDIF
IF !len(ReadData)=2 OR 系统退出=1 THEN
消息="系统未连接,请点击“系统连接”按钮进行系统连接"
ENDIF
IF !len(ReadData)=10 AND 系统退出=0 THEN
消息="系统已连接,请点击“开始采集”按钮进行数据采集"
ENDIF
IF 开始测量=1 and !len(ReadData)=26 THEN
消息="通信正常,下位机数据采集中..."
ENDIF
IF 下位机控制=1 THEN
消息="控制权转交给下位机,数据采集模式"
ENDIF
IF 上位机控制=1 THEN
消息="控制权转交给上位机,请选择“转速控制”或“转矩控制”"
ENDIF
IF 系统复位=1 THEN
消息="系统已复位,请点击“开始采集”按钮进行数据采集"
ENDIF
IF 转速控制=1 THEN
消息="转速控制:请选择“手动”或“自动”模式"
ENDIF
IF 转速控制=1 AND 手动=1 THEN
消息="转速控制“手动”模式,更改转速值后点击“发送”确认"
ENDIF
IF 转速控制=1 AND 自动=1 THEN
消息="转速控制“自动”模式,可按照步进值增加或减少电机转速"
ENDIF
IF 配置系统=1 THEN
消息="设置系统参数,可更改电机同步转速"
ENDIF
IF 转速控制=1 AND (手动=1 OR 自动=1) and 发送=1 THEN
消息="设置电机转速为"+!Str(电机设定转速)+"rpm并测量实时数据值"
ENDIF
IF 转矩控制=1 THEN
消息="转矩控制:可对电机加载、减载、突减载控制"
ENDIF
if 转矩控制=1 and 加载=1 and 转矩暂停=0 then
消息="转矩控制:电机加载中..."
if 电机设定转矩=4080 then
消息="转矩控制:电机已加载至满载状态,请减载操作运行!"
endif
endif
if 转矩控制=1 and 减载=1 and 转矩暂停=0 then
消息="转矩控制:电机减载中..."
if 电机设定转矩=0 then
消息="转矩控制:电机已减载至空载状态,可加载运行"
endif
endif
if 转矩控制=1 and 转矩暂停=1 then
消息="转矩控制:电机加减载暂停更改"
endif
if 转矩控制=1 and 突减载=1 then
消息="突减载打开,电机处于空载状态"
endif
'转速控制自动模式 发送数据计算
IF 转速+5>=电机设定转速 AND 暂停=0 THEN
IF 转速控制=1 AND 自动=1 AND 加减=1 AND 发送=1 THEN
电机设定转速=电机设定转速+步进转速
IF 电机设定转速>1500 THEN
电机设定转速=1500
ENDIF
ENDIF
ENDIF
IF 转速-5<=电机设定转速 AND 暂停=0 THEN
IF 转速控制=1 AND 自动=1 AND 加减=0 AND 发送=1 THEN
电机设定转速=电机设定转速-步进转速
IF 电机设定转速<0 THEN
电机设定转速=0
ENDIF
ENDIF
ENDIF
'转速控制手动模式 发送数据计算
STR设定转速=!I2Hex(电机设定转速)
IF !len(STR设定转速)=3 THEN STR设定转速="0"+STR设定转速
IF !len(STR设定转速)=2 THEN STR设定转速="00"+STR设定转速
IF !len(STR设定转速)=1 THEN STR设定转速="000"+STR设定转速
校验=!right("0"+!I2Hex(!Hex2I("15")+!Hex2I("58")+!Hex2I(!left(STR设定转速,2))+!Hex2I(!right(STR设定转速,2))),2) '数据和校验
转速设定值="1558"+STR设定转速+校验
'转矩控制 发送数据计算
if 电机设定转矩<=4080 then
if 转矩控制=1 and 加载=1 and 转矩暂停=0 then
电机设定转矩=电机设定转矩+15
if 电机设定转矩>4080 then
电机设定转矩=4080
endif
endif
endif
if 电机设定转矩>=0 then
if 转矩控制=1 and 减载=1 and 转矩暂停=0 then
电机设定转矩=电机设定转矩-15
if 电机设定转矩<0 then
电机设定转矩=0
endif
endif
endif
STR设定转矩=!I2Hex(电机设定转矩)
IF !len(STR设定转矩)=1 THEN STR设定转矩="000"+STR设定转矩
IF !len(STR设定转矩)=2 THEN STR设定转矩="00"+STR设定转矩
IF !len(STR设定转矩)=3 THEN STR设定转矩="0"+STR设定转矩
校验2=!right("0"+!I2Hex(!Hex2I("15")+!Hex2I("57")+!Hex2I(!left(STR设定转矩,2))+!Hex2I(!right(STR设定转矩,2))),2) '数据和校验
转矩设定值="1557"+STR设定转矩+校验2
'转差率计算
转差率=(电机同步转速-转速)/电机同步转速
'字符颜色随机值
color=!rand(0,10)
涡流测功机测试系统 通信协议
设备连接
下发:15 50 00 00 65
回复:15 15 50 00 7A
下位机控制/复位
下发:15 59 00 00 6E
单组采集:按下一次按钮采集一次数据
下发:15 52 00 00 67
回复:15 52 01 14 93 01 10 25 31 16 02 10 9E 13个字节数据
转速:1493;00正转,01反转,10表示1位小数点
转矩:1025;30正转,31反转 3表示小数点位数
功率:1602;10表示小数点位数
多组采集:按下一次采集三组数据
下发:15 53 00 00 68
回复:
上位机控制
转矩控制 加减载设定
下发:15 57 00 10 7C 转矩设定范围:0~4080
回复:
转速控制 加减速设定:每次100加减
下发:15 58 05 78 EA 1400转
回复:
突减载
下发:15 57 00 00 6C 按钮为:开关型取反
回复:15 52 01 14 97 00 10 59 30 16 60 10 32