MCGS使用脚本字符串计算自由口通信控制32路继电器测试 点击:2380 | 回复:18



wyc05017

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 57回
  • 年度积分:162
  • 历史总积分:7523
  • 注册:2015年6月24日
发表于:2020-11-03 16:54:18
楼主

MCGS 使用脚本字符串计算自由口通信控制32路继电器测试

使用脚本进行字符串计算

帧头="BBBF"

帧尾="FF025557"

和校验=!right(!I2Hex(BYTE1+BYTE2+BYTE3+BYTE4),2)   

发送数据=帧头+!I2Hex(BYTE1)+!I2Hex(BYTE2)+!I2Hex(BYTE3)+!I2Hex(BYTE4)+和校验+帧尾

'串口接收数据

Receivehex=!ReadSerial(CommNo)

'串口未正确打开则退出

IF CommError1<>0 OR CommError2<>0 OR CommError3<>0 OR CommError4<>0 THEN

  EXIT

ENDIF

通过脚本设置串口参数

'保存串口参数

CommNo.SaveDataInitValue( )

BaudRate.SaveDataInitValue( )

DataBit.SaveDataInitValue( )

StopBit.SaveDataInitValue( )

ParityBit.SaveDataInitValue( )

'刷新到磁盘上

!FlushDataInitValueToDisk( )

'设定波特率

CommError1=!SetSerialBaud(CommNo,BaudRate)

IF CommError1<>0 THEN 

   EXIT

ENDIF 

'设定数据位

CommError2=!SetSerialDataBit(CommNo,DataBit)

IF CommError2<>0 THEN 

   EXIT

ENDIF 

'设定停止位

CommError3=!SetSerialStopBit(CommNo,StopBit)

IF CommError3<>0 THEN 

   EXIT

ENDIF 

'设定校验位

CommError4=!SetSerialParityBit(CommNo,ParityBit)

IF CommError4<>0 THEN 

   EXIT

ENDIF 

可以进行非标准modbus rtu协议通信控制

不需要添加串口驱动

32路继电器控制发送数据格式如下

BB BF 00 00 00 01 01 FF 02 55 57 //k1

BB BF 00 00 00 02 02 FF 02 55 57 //k2

BB BF 00 00 00 04 04 FF 02 55 57 //k3

BB BF 00 00 00 08 08 FF 02 55 57 //k4


BB BF 00 00 00 10 10 FF 02 55 57 //k5

BB BF 00 00 00 20 20 FF 02 55 57 //K6

BB BF 00 00 00 40 40 FF 02 55 57 //K7

BB BF 00 00 00 80 80 FF 02 55 57 //K8


BB BF 00 00 01 00 01 FF 02 55 57 //K9

BB BF 00 00 02 00 02 FF 02 55 57 //K10

BB BF 00 00 04 00 04 FF 02 55 57 //K11

BB BF 00 00 08 00 08 FF 02 55 57 //K12


BB BF 00 00 10 00 10 FF 02 55 57 //K13

BB BF 00 00 20 00 20 FF 02 55 57 //K14

BB BF 00 00 40 00 40 FF 02 55 57 //K15

BB BF 00 00 80 00 80 FF 02 55 57 //K16


BB BF 00 01 00 00 01 FF 02 55 57 //K17

BB BF 00 02 00 00 02 FF 02 55 57 //K18

BB BF 00 04 00 00 04 FF 02 55 57 //K19

BB BF 00 08 00 00 08 FF 02 55 57 //K20


BB BF 00 10 00 00 10 FF 02 55 57 //K21

BB BF 00 20 00 00 20 FF 02 55 57 //K22

BB BF 00 40 00 00 40 FF 02 55 57 //K23

BB BF 00 80 00 00 80 FF 02 55 57 //K24


BB BF 01 00 00 00 01 FF 02 55 57 //K25

BB BF 02 00 00 00 02 FF 02 55 57 //K26

BB BF 04 00 00 00 04 FF 02 55 57 //K27

BB BF 08 00 00 00 08 FF 02 55 57 //K28


BB BF 10 00 00 00 10 FF 02 55 57 //K29

BB BF 20 00 00 00 20 FF 02 55 57 //K30

BB BF 40 00 00 00 40 FF 02 55 57 //K31

BB BF 80 00 00 00 40 FF 02 55 57 //K32

下发数据

'发送16进制 字符串数据

SENDHEX=!WriteSerial(CommNo,!Hex2I("BB"))AND!WriteSerial(CommNo,!Hex2I("BF"))AND!WriteSerial(CommNo,BYTE1)AND!WriteSerial(CommNo,BYTE2)AND!WriteSerial(CommNo,BYTE3)AND!WriteSerial(CommNo,BYTE4)AND!WriteSerial(CommNo,!Hex2I(和校验))AND!WriteSerial(CommNo,!Hex2I("FF"))AND!WriteSerial(CommNo,!Hex2I("02"))AND!WriteSerial(CommNo,!Hex2I("55"))AND!WriteSerial(CommNo,!Hex2I("57"))

每次设置一个继电器动作发送数据通过虚拟串口监测的数据


任意组合设置继电器动作通过虚拟串口监测的数据

2.jpg



正在下载,请等待……
下载附件需5积分!

1分不嫌少!


楼主最近还看过



xmb2005

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2016年5月10日
发表于:2020-11-03 23:00:07
1楼

下载学习学习!

zwb6122502

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1309回
  • 年度积分:0
  • 历史总积分:289
  • 注册:2007年10月30日
发表于:2020-11-04 07:05:12
2楼

不错的创意,下载学习一下


huoshi

  • 精华:0帖
  • 求助:22帖
  • 帖子:347帖 | 2576回
  • 年度积分:561
  • 历史总积分:23189
  • 注册:2020年3月27日
发表于:2020-11-04 08:26:09
3楼

谢谢老师分享,学习学习

yerone

  • 精华:0帖
  • 求助:0帖
  • 帖子:27帖 | 943回
  • 年度积分:0
  • 历史总积分:282
  • 注册:2006年7月22日
发表于:2020-11-04 09:41:43
4楼

楼主威武

fighting2020

  • [管理员]
  • 精华:4帖
  • 求助:4帖
  • 帖子:1023帖 | 7244回
  • 年度积分:1284
  • 历史总积分:18892
  • 注册:2008年11月11日
发表于:2020-11-06 13:51:43
5楼

感谢楼主的无私分享

语凡

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 355回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2013年2月23日
发表于:2020-11-06 15:16:58
6楼

不错的创意,下载学习一下


hxy380564995

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 98回
  • 年度积分:0
  • 历史总积分:837
  • 注册:2011年1月08日
发表于:2021-02-19 11:37:17
7楼

谢谢,楼主分享

hflxb

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 42回
  • 年度积分:0
  • 历史总积分:300
  • 注册:2016年10月22日
发表于:2021-03-21 15:08:13
8楼

感谢楼主的分享

天涯@

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 238回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2016年10月02日
发表于:2021-04-08 16:00:22
9楼

感谢分享,学习学习

luoqing

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1539回
  • 年度积分:0
  • 历史总积分:47
  • 注册:2018年5月07日
发表于:2021-05-03 21:24:03
10楼

mcgs工程样例

suaz70hy

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 84回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2013年4月01日
发表于:2021-05-09 16:21:34
11楼

好复杂!

cc_zz

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 171回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2017年8月27日
发表于:2022-12-05 16:35:47
12楼

好东西  谢谢分享!

锤子精神

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 262回
  • 年度积分:13
  • 历史总积分:486
  • 注册:2019年4月10日
发表于:2022-12-06 09:44:28
13楼

感谢分享,谢谢

Study of slag   ༽

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:219
  • 注册:2021年8月01日
发表于:2022-12-25 17:00:32
14楼

感觉不错,向前辈学习,

gkxb2023

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 40回
  • 年度积分:40
  • 历史总积分:40
  • 注册:2012年4月23日
发表于:2023-10-03 11:19:02
15楼

我是来刷积分的,顺便学习一下

luoqing

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1557回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2018年5月07日
发表于:2023-10-11 10:39:20
16楼

MCGS使用脚本字符串计算自由口通信控制32路继电器测试


tyrl800

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13回
  • 年度积分:18
  • 历史总积分:53
  • 注册:2019年3月31日
发表于:2023-10-27 15:41:16
17楼

学习

海大360

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 2316回
  • 年度积分:0
  • 历史总积分:1246
  • 注册:2004年11月14日
发表于:2023-10-27 20:51:37
18楼

学习


热门招聘
相关主题

官方公众号

智造工程师