COMMIX串口调试软件读取数据
comassistant串口调试助手使用说明
单片机多功能调试助手简介1简介图1单片机多功能调试助手单片机多功能调试助手一款集串口/USB/网络调试、进制转换、字模与数码管字型码制作、常用校验值计算、UNICODE码转换、位图输出C文件等众多功能于一身的综合型调试软件,最值得庆幸的是该软件会一直保持更新,并支持在线升级功能,这样大家手头上的单片机多功能调试助手总是最新的!单片机多功能调试助手与其他调试软件有什么优势:1)一直保持为单文件状态,不会因为需要保存配置信息而创建其他其他文件,所以该软件非常容易携带。
2)一直体贴着开发者,所有重要的配置在关闭该软件时将会得到保存,重启软件后会重新导入以前的配置信息,免去重复选择或填入数据的操作。
3)集成了串口/USB/网络调试功能,并在串口/USB/网络调试的过程中,该软件提供了监视和多项发送功能。
通过使用监视端口的功能就可以清晰地分辨出发送与接收的数据的顺序;通过使用多项发送功能就可以省去重复删除或填写待发送数据的步骤。
4)在线升级功能是该软件的最得意之处,理所当然地也是开发者最倍受关注的功能。
索取方式:发邮件到wenziqi@或wenziqi@。
2软件预览2.1串口调试图2-1-1串口调试主界面2.1.1串口监视图2-1-2串口监视器点击串口监视器界面的保存记录将会在“单片机多功能调试助手”的根目录生成“串口监视器.txt文件”,如图2-1-3。
图2-1-3串口监视器记录2.1.2多项发送图2-1-4串口多项发送界面2.2USB调试2-2-1USB调试界面2-2-2USB监视器2-2-3USB监视记录2.3网络调试图2-3-1网络调试界面2.3.1TCP监视图2-3-2TCP监视器界面图2-3-3TCP监视记录2.3.2UDP监视图2-3-5UDP监视器图2-3-6UDP监视记录2.4服务器调试图2-4-1服务器界面2.5小工具2-5-18051单片机波特率计算界面2.68051单片机波特率计算2-6-18051单片机波特率计算界面2.7ATMEGA16单片机波特率计算2-7-1ATMEGA16单片机波特率计算界面2.7校验值计算2-7-1校验值计算界面2.8UNICODE2-8-1UNICODE转换界面2.9BMP转C文件图2-9-1BMP2Hex界面图2-9-2BMP转C文件。
读取串口数据
读取串口数据方法一:使用VC++提供的串行通信控件MSComm 首先,在对话框中创建通信控件,若Control工具栏中缺少该控件,可通过菜单Project --> Add to Project --> Components and Control插入即可,再将该控件从工具箱中拉到对话框中。
此时,你只需要关心控件提供的对Windows 通讯驱动程序的 API 函数的接口。
换句话说,只需要设置和监视MSComm控件的属性和事件。
在ClassWizard中为新创建的通信控件定义成员对象(CMSComm m_Serial),通过该对象便可以对串口属性进行设置,MSComm 控件共有27个属性,这里只介绍其中几个常用属性: CommPort 设置并返回通讯端口号,缺省为COM1。
Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。
PortOpen 设置并返回通讯端口的状态,也可以打开和关闭端口。
Input 从接收缓冲区返回和删除字符。
Output 向发送缓冲区写一个字符串。
InputLen 设置每次Input读入的字符个数,缺省值为0,表明读取接收缓冲区中的全部内容。
InBufferCount 返回接收缓冲区中已接收到的字符数,将其置0可以清除接收缓冲区。
InputMode 定义Input属性获取数据的方式(为0:文本方式;为1:二进制方式)。
RThreshold 和 SThreshold 属性,表示在 OnComm 事件发生之前,接收缓冲区或发送缓冲区中可以接收的字符数。
以下是通过设置控件属性对串口进行初始化的实例:BOOL CSampleDlg:: PortOpen(){BOOL m_Opened;......m_Serial.SetCommPort(2); // 指定串口号m_Serial.SetSettings("4800,N,8,1"); // 通信参数设置m_Serial.SetInBufferSize(1024); // 指定接收缓冲区大小m_Serial.SetInBufferCount(0); // 清空接收缓冲区m_Serial.InputMode(1); // 设置数据获取方式m_Serial.SetInputLen(0); // 设置读取方式m_Opened=m_Serail.SetPortOpen(1); // 打开指定的串口return m_Opened;}打开所需串口后,需要考虑串口通信的时机。
串口调试软件使用说明2.0
串口调试软件使用说明首先,运行该软件显示的是一个对话窗。
在该界面的左上角有五个小的下拉窗口,分别为串口,波特率,校验位,数据位,停止位。
串口窗口应为仪表与计算机相连时所使用的串口。
波特率窗口选择仪表设置的波特率。
校验位选择无。
数据位选择8位停止位选择2位在停止位的下面是显示区的选项,选择十六进制显示。
在整个界面的下方是发送区,主要选择十六进制发送,发送方式可选手动发送或自动发送。
其中自动发送可设置发送周期(以毫秒为单位)。
除直接发送代码外本软件也可直接发送文件。
仪表通讯协议如下:通讯格式为8位数据,2个停止位,无校验位。
仪表读写方式如下:读指令:Addr+80H Addr+80H 52H 要读参数的代号写指令:Addr+80H Addr+80H 43H 要写参数的代号写入数低字节写入数高字节读指令的CRC校验码为:52H+Addr 要读参数的代号,Addr为仪表地址参数值范围是0-100。
写指令的CRC校验码为:43H+要写的参数值+Addr 要写的参数代号。
无论是读还是写,仪表都返回以下数据:测量值PV+给定值SV +输出值MV及报警状态+所读/写参数值其中PV、SV及所读参数值均为整数格式,各占2个字节,MV占1个字节,报警状态占1个字节,共8个字节。
每2个8位数据代表一个16位整形数,低位字节在前,高位字节在后,各温度值采用补码表示,热电偶或热电阻输入时其单位都是0.1℃,1V或0V等线性输入时,单位都是线性最小单位。
因为传递的是16位二进制数,所以无法表示小数点,要求用户在上位机处理。
上位机每向仪表发一个指令,仪表在0-0.2秒内作出应答,并返回一个数据,上位机也必须等仪表返回数据后,才能发新的指令,否则将引起错误。
如果仪表超过最大响应时间仍没有应答,则原因可能无效指令、通讯线路故障,仪表没有开机,通讯地址不合等,此时上位机应重发指令。
现以XL4表为例说明首先,将表与计算机的串口一连接。
不断读取串口MSComml.Input数据
ComEventFrame 1004 数据帧错误。硬件检测到一个数据帧错误
ComEventOverrun 1006 端口溢出。硬件中的字符尚未读,下一个字符又到达,并且丢失
mPort =2
'设定Com2
If MSComml.PortOpen = False Then
MSComm1.Settings = "9600,n,8,1"
'9600波特率,无校验,8位数据位,1位停止位
MSComm1.PortOpen = True
'打开串口
End if
ComEventCDTO 1007 Carrier Detect Time。在发送字符时,在系统指定的事件内,CD(Carrier Detect)线是低电平。CD也称为RLSD(Receive Line Singal Detect,接收线信号检测)
ComEventRxOver 1008 接收缓冲区溢出。在接收缓冲区中没有空间
ComEventDSRTO 1003 Data Set Ready Timeout。在发送字符时,在系统指定的事件内,DSR(Data Set Ready)线是低电平
ComEventFrame 1004 数据帧错误。硬件检测到一个数据帧错误
ComEventOverrun 1006 端口溢出。硬件中的字符尚未读,下一个字符又到达,并且丢失
ComEventRxParity 1009 奇偶校验错。硬件检测到奇偶校验错误7
ComEventTxFull 1010 发送缓冲区满。在对发送字符排队时,发送缓冲区满
Commix工业控制串口调试工具V1.4功能介绍
Commix工业控制串口调试工具V1.4功能介绍Commix 工业控制串口调试工具 V1.4
为工业控制设计的串口设备调试工具,已被许多同行使用,主要特点:
1、能根据设备的通讯协议,方便地生成多种冗余校验如Modbus,并加上结束符,适用于大多数串口通讯的工业设备;
2、能够混合输入16进制数、10进制数、ASCII字符,这种功能通过转义符“\\\\”实现;
3、支持串口1~255,支持各种虚拟串口,可以自定义任意通讯参数组合,随时改变参数而不用关闭串口,支持不常用的波特率等;
4、可以测出设备的响应间隔;
5、通讯数据可保存到RTF文件,参数设置可保存到注册表reg文件。
6、可切换中文/英文显示。
C_串口操作之读取串口数据
{
mPort = 1i;
axMSComm2.InputMode =
InputModeBinary;
//用于设置或返回传输数据的类型,
int.Parse(ReceivedData[i + 2].ToString("X"));
}
}
ReceiveDataNum = 0;
UnsettledDataNum = 0;
}
二、C#串口操作之发送数据
try
{
mPort = zifuchuankou;
//这里注意MSComm.Input返回的是一个object的类型,
//所以必须使用显式的类型转换
CommBufferData = (byte[])objIn;
//CommBufferData为串口缓冲区内所有数据
//存取最后一次接收到的缓冲区的数据,
//存储部分时作为后期数据处理所用,
byte[] CommBufferData = new byte[1024];
byte[] ComByte = new byte[8];
BufferDataNumStart = axMSComm2.InBufferCount; ;
//将缓冲区内等待读取的字节个数赋给BufferDataNumStart
{
MessageBox.Show(e.ToString());
}
在axMSComm的OnComm事件里写:
private void axMSComm2_OnComm(object sender, EventArgs e)
{
switch (mEvent) //查询CommEvent属性
ComMonitor捷通串口调试软件使用手册6
ComMonitor捷通串口调试软件使用说明书(6)捷通模拟通讯实验室Email:***************捷通模拟通讯实验室二零零九年十一月目录一、介绍 (2)二、软件界面 (2)2.1 软件主界面 (2)2.2 最大化界面 (3)2.3窗口置顶 (4)三、显示区控制 (6)3.1显示发送 (6)3.2帧换行 (6)3.3显示保存发送和接收时间 (7)3.4关键字过滤 (8)3.5 保存显示区内容 (8)四、发送区数据发送控制 (10)4.1 发送区数据格式说明 (10)4.2手动控制 (10)4.3自动发送 (11)4.4 校验码计算 (11)五、轮发功能 (13)5.1 发送区轮发 (13)5.2文件轮发 (13)5.3定时轮发 (15)5.4 帧回应轮发 (15)六、常见问题索引 (18)6.1 串口不能打开 (18)6.2 接收到的数据不对 (18)6.3 接收区没有显示 (18)6.4 自动发送为什么没有发送数据 (18)6.5 如何获得最新的ComMonitor软件 (18)6.6 关于ComMonitor软件源代码 (18)一、介绍ComMonitor捷通串口调试软件追求的是方便易用,能调试大多数的串口通讯应用。
本软件参考了串口调试助手,但又根据自己多年的工作经验,添加了更多的实用功能。
具体来讲,它除了具备一般的串口调试工具的功能以外,还具有以下特别之处:1、支持多达20个串口,对于使用多串口卡或虚拟串口的用户是很必要的;2、加入了接收显示与保存的关键字过滤功能;3、具备接收显示与保存时帧换行功能,40ms未受到数据,认为一帧结束;4、具有记录发送和接收时间的功能;5、支持3个独立的发送区;6、3个发送区可以以定时或响应等两种方式进行轮发;7、具有计算CRC16、CRC8等校验码的功能;8、自动保存上一次使用的端口配置;9、自动保存上一次发送区的数据;10、具有文件按行发送轮发功能,发送方式也可以采用定时和响应两种方式;11、轮发响应方式中,加入了超时判断,和自定义多次重发功能;12、所有参数和数据支持运行时改变,不需要重新启动;13、轮发时可以选择只轮发一遍,还是不断轮发;14、收发报文用不同的颜色显示,红的为接收,篮的为发送;ComMonitor捷通串口调试软件设计开始就是针对调试串口设备通讯的。
COMWAY 无线串口软件使用说明
COMWAY 无线串口软件使用说明目录1. 简介 (1)2.系统主要特点: (2)3. 配置COMW AY GPRS DTU (2)4. Comway无线串口软件的使用 (3)4.1 创建用户账户 (3)4.2 在用户私有账户中修改密码和添加DTU设备 (5)4.3 添加虚拟串口 (6)4.4 映射虚拟串口到与远端设备相连接的DTU (7)4.5 捕捉和保存DTU通信信息 (8)4.6 在32位win7系统下安装虚拟串口驱动的过程 (8)4.7 在64位win7系统下安装虚拟串口驱动的过程 (9)4.8 无线串口软件的自动登录和图标最小化 (10)5,Comway无线串口配合组态软件的使用 (11)1. 简介Comway无线串口软件与GPRS DTU配合使用,可以帮助用户建立远端串口设备和用户计算机之间的无线通信信道。
此无线通信信道是基于北京天同诚业科技有限公司设立在专业机房中的Comway Data-Server集群服务器系统,该系统向广大中小客户及行业客户提供电信级无线数据通信服务。
广泛使用的具有RS-232/485等串行通信接口的设备,如PLC、RTU和各种仪表、传感器,均可利用COMWAY DTU经GSM/GPRS网络与一台连接到Internet的PC实现无线数据通信。
仅需在用户的计算机中安装COMWAY无线串口软件,用户即可使用原来基于串口通讯的应用程序来处理远端串口设备的数据。
无需用户劳心费神于公网IP地址或者是网络端口映射、动态域名映射等具体问题,可以专心致力于最终客户的应用系统的搭建。
拥有的comway无线串口系统,就等于拥有了“无限延长的串口线”,能够方便的实现现有应用系统的改造和扩容,并为新的基于无线数据通讯的应用的建设提供了一个基础。
我们将不断根据客户的需求定制通讯协议和数据接口,将用户的应用进一步“无线”扩展。
系统示意图2.系统主要特点:●计算机能上网就能与远端串口设备建立无线通信在任何一台可以访问internet的计算机上安装COMW AY无线串口软件均可与远端DTU连接的串口设备进行透明通信。
(串口通信编程)开源串口调试助手Common(ComMonitor)
(串⼝通信编程)开源串⼝调试助⼿Common(ComMonitor) 最新的⽂档见这⾥: 我写的串⼝调试助⼿程序以及源代码. 警告:请勿将本软件源代码⽤于任何商业⽤途。
其实吧, 我写的这个串⼝软件绝对⽐⽹上流传的⼀些串⼝调试软件好⽤很多, 对于软件,我本⾝并没有作 太多推⼴, ⼀些功能我由于懒也没有⽂档化; 如果您正在使⽤, 也觉得我说得没错, 还望您帮忙推⼴⼀下. 感激!本程序最近正在使⽤C++完全重构, github上⾯的源代码⽆法通过编译~~ 敬请期待最新版本!微云你就⼀坑货, 说了的链接永久有效呢?源代码: 声明:本软件为开源软件,绝对不包含任何对系统不利的代码,对于360的那种⾏为,我不想说什么. 软件界⾯:-------------------------------------------------------------------------------------------------------------------------说明: 更新信息可能不会再更新到这⾥, 请到上⾯查看. 更新:2014-07-07:①优化:接收数据时,如果最后⼀个字符是'\r'或'\n',则会在⼀定时间内等待接收所有'\r','\n'字符,避免导致读取'\r\n'可能造成的两次换⾏②更改:除已经提到的那三种情况, 还有使⽤'\r\n\r'三个字符作为换⾏符使⽤的, 已增加⽀持2014-07-07:①修复:回车换⾏字符'\r','\n','\r\n'均能达到换⾏效果②修复:⼀开始"忽略回车"等⽆法点击问题③优化:简化对数据中包含'\0'的数据的处理④增加:简洁界⾯模式时把⼯具栏放到左边⑤更改:只显⽰接收区按下的"回车"字符为"<Enter>",其它不显⽰⑥增加:接收区增加⼀个"清空数据"菜单2014-07-06 1.17:①增加:允许从接收区输⼊字符并发送(更友好的类交互模式) 会显⽰的字符包括: ' ' <Space> '\b' <Backspace> '\t' <Tab> '\r' <Enter> 感觉输⼊效果还不错:②更改:更改了字符接收区/发送区的字体为Consolas等宽字体,不再使⽤原来的Courier字体③增加:简洁模式 - 此模式下⼤部分界⾯元素会被隐藏, 有时候这样更舒服 见上图所⽰, 左下⾓为"简洁模式"开关, 开启简洁模式后就像上图, 是不是很简洁?④增加:主窗⼝的⾃动界⾯布局(允许拖动改变窗⼝⼤⼩,控件坐标⾃动调整)⑤更改:默认使⽤的模式改为:字符接收+字符发送2014-07-05 1.16 (未对外发布):①字符接收数据时,增加对控制字符Backspace的⽀持(即'\b'),效果就是向前删除⼀个字符②修复⼀处中⽂检测错误(原来是对的, 不知道什么时候改错了③删除了窗体⼤⼩调整(下个版本即将使⽤⾃动布局)2014-03-03 1.15: 更新:⽀持⼿动输⼊⾮标准波特率 改进:增加了⼏个功能快捷键,⽐如Alt+S为发送,.... 优化:修正:如果接收缓冲区有未显⽰的数据,则会在按下继续显⽰时进⾏提⽰,⽽不是原来的在接收到下⼀次的数据时进⾏提⽰; 2013-11-02 1.14: 更新:修改了原来的命令发送模式的界⾯,现在变得更加友好了 如下图, 先选择要发送的命令列表⽂件: 点击打开, 将会打开如下界⾯: 1.上⾯的代码是我测试蓝⽛芯⽚⽤到的命令列表⽂件, 点击"发送命令"就会发送对应的⼀条命令 2.16进制还是原来的要求, 2个⼀组即可; 对于字符数据:默认开启转义字符功能, ⽐如 '\n' 就代表换⾏, ⽀持字符型转义字符有6个, \n,\r,\\,\t,\a,\v,\b, 那些可见的字符不需要转义, ⽐如引号,问号... ⽀持的16进制转义字符格式:\x?? - 其中, ⼀个?代表⼀个16进制字符, 以上4个字符组成⼀个16进制值,缺⼀不可 3.⽂本框中的数据可以在发送时随时修改,回车键可看到效果, (但修改的内容⽬前不能更新到原来的本地⽂件上) 4.注意到数据类型后⾯的"双击改变"⼏个字样, 也就是说通过双击, 可以改变那条命令的解析格式 5.数据⼤⼩是指最终要被发送的数据的⼤⼩, ⽽不是转义前的⼤⼩ 命令⽂件的格式举例: C:初始化SPP库:at+init\r\n C:查询任意访问码的蓝⽛设备:at+iac=9e8b33\r\n C:查询设备类为0x1f1f的蓝⽛设备:at+class=1f1f\r\n C:设置查询模式:at+inqm=1,9,48\r\n C:过滤,查询周边蓝⽛设备:at+inq\r\n H:16进制测试:12 45 67 4f 分为3部分组成, 两者之间⽤冒号隔开: 第1部分:C或者H(⼤写), 代表数据是16进制还是字符数据 第2部分:命令的名字 第3部分:数据对应的数据 BUG修复: 上⼀个版本在发送数据前忘记检查串⼝是否已经打开了, 已修复~----------------------------------------------------------------------------------------------------------2012-12-24 1.0.0.0:发布第1个版本2012-12-26:⾃动识别当前存在,插⼊,移除的串⼝号2013-01-11 1.0.0.1:增加保存接收区数据到⽂件(16进制/⽂本形式)增加从⽂件读数据到发送区(16进制/⽂本形式)增加暂停显⽰功能增加复制发送/接收区数据到剪贴板2013-01-18 1.0.0.2:修复:⽂本⽂件,16⼆进制⽂件读取错误修复:程序内部缓冲区满后使程序进⼊死循环修复:⽂本字符⽅式显⽰接收的数据时产⽣不正确的换⾏符的错误,若要产⽣换⾏符, 请使⽤"\n"2013-02-08 1.0.0.3:内部程序作了许多的优化⼯作,包含数据的发送⽅式等修复接收数据时⿏标在接收区的⽂本选择造成的⼲扰2013-02-14 1.0.0.4:增加显⽰出0~127号ASCII对应8,10,16进制功能2013-02-24 1.0.0.5,今天元宵节:更改原来的1~64串⼝列表到⾃动检测计算机上的可⽤串⼝2013-02-27 1.0.0.6:若发送⽂本,则⾃动发送被⾃动取消(若⾃动发送选项已打开)在显⽰模式下不允许对接收区数据进⾏选择操作提供硬件⽀持的串⼝设备设置为⽤户提供串⼝超时设置提供⼿动设置DTR/RTS引脚电平2013-03-01 1.0.0.7:修改原计算器(系统)为表达式求值计算器(简单版本)2013-03-03:添加:<其它>菜单添加<设备管理器>修改:在关闭串⼝后⾃动发送前⾯的钩不再⾃动取消(如果已经选中)修改:串⼝被关闭/移除后串⼝列表回到第⼀个串⼝设备的BUG2013-03-04:修改:现在在串⼝列表中可以显⽰串⼝在设备管理器中的名字了修正:⽆法显⽰ MSP430-FETUIF Debugger 的串⼝号(现在调⽤SetupApi更新列表)2013-03-05:为了⽅便数据的统计与显⽰,16进制内容与字符内容被显⽰到不同的编辑框中2013-03-09 1.0.0.8:修正在使⽤SetupApi枚举串⼝设备时未检测并⼝设备⽽造成的内存异常访问错误减少在某些波特率(如:19200bps)下丢包严重的情况(如:MSP430串⼝),有时候还是会发⽣,等待修复.某些软件(如:SComAssistant采⽤每次只读⼀个字节的办法效果还⾏, 就是速度有点慢. 我改成了WaitCommEvent函数调⽤了(原来是Pending ReadFile),减少了CPU占⽤(有些串⼝驱动并不总是⽀持同步操作.以前只管ReadFile+输出nRead字节,这⾥错误,ReadFile并不保证读取到要求的数据量后才返回,这⾥会导致严重丢包,WriteFile亦然.速度减慢,但数据更完整2013-03-10 1.0.0.9:修正:因为在格式化字符串的最后少写了⼀句 *pb = '\0',导致接收区数据显⽰错误! 修复:对utils.hex2chs和add_text作了⼤量修改,⼤⼤减少数据丢包,貌似没有丢包?,细节处理参见源程序 1.0.0.8版本因为内部原因速度严重减慢, 1.0.0.9回到原来的快速!2013-03-18:更正:若为字符显⽰⽅式,16进制⽅式保存不被允许,因为格式基本上不满⾜!2013-03-23 1.10:添加:⼯作模式中,右键点击接收区字符⽂本框可以使能中⽂显⽰模式(不推荐),由于中⽂字符由两个字节构成,所以:⼀旦在某⼀次接收过程中只接收到了中⽂字符的⼀个字节,那么数据就会显⽰出错, 这个⽆法避免, 所以建议尽量不使能中⽂显⽰模式.修正:⽤C语⾔的⼈们都习惯使⽤'\n'作为换⾏符,我也这样使⽤,但偏偏Windows的编辑框以'\r\n'作为换⾏符,没有办法,我不得不把所有的'\n'换成'\r\n',效率必然会下降,⽽且我不得不计算出\n的个数先 --> 为了计算所需缓冲区的⼤⼩.添加:现在可以显⽰出还未被发送出去的数据计数.添加:新增计时器,打开串⼝后开始计时,关闭后停⽌计时.2013-03-25:修正:⼤⼤减少中⽂乱码的问题.细节处理见代码.增加:字符串转16进制数组功能,⼯具菜单⾥⾯.2013-04-04:修正:⽆法复制接收区字符⽂本的BUG.⼩提⽰:在选择串⼝时,如果没有任何可⽤的串⼝,则进⾏提⽰更新.2013-04-07:修改:完全修改了utils.str2hex的实现,⼤⼤增加了16进制输⼊的灵活性.现在的要求:每个16进制值由两个相邻字符组成,⽆其它限制.(以前是2个相邻字符+⼀个空格)2013-04-11:发送字符数据时,对于换⾏,只发送'\n',不再发送'\r\n',注意:结尾的'\0\'不被发送!2013-04-13:修正:更改发送与接收⽅式为异步⽅式.添加:简单波形显⽰.2013-04-23:修正:发送与接收⽅式改回同步⽅式!坑~修正:当发送操作达到100次时⽆法继续发送的BUG!修改:优化内部线程同步机制,避免程序停⽌⼯作(失去响应)!优化:优化⾃动发送数据的⽅式,提⾼精度,减⼩内存/CPU占⽤!⼩提⽰:在加载/保存⽂件时,若不清楚打开/保存⽅式,可以查看简单的帮助信息!2013-05-11:明天母亲节修正:终于找到⼀个⽐较好的办法来处理⾃动发送⽤到的重复数据了,呵呵,时间下限减少到10ms2013-07-05:临时修正:选择从⽂件加载并取消后, 串⼝号选择的ComboBox会消失不见,不知道原因,临时已解决2013-07-14:改进:程序内部改进内存分配算法,避免因程序错误造成内存泄漏2013-07-20 1.12:2013-09-10 1.13 今天教师节:增加:现在可以⼿动编写待发送的命令⽂件,并发送命令了 - 在发送⽂件时选择命令⽂件, 格式见博客后⾯的介绍增加:字符发送模式下,可以选择取消回车换⾏符的发送,可以选择插⼊转义字符 1.⽀持的字符型转义字符:\r,\n,\t,\v,\a,\b,\\2.⽀持的16进制转义字符格式:\x?? - 其中⼀个问号代表⼀个16进制字符, 不可省略其⼀,必需保证4个字符的格式3.'?',''','"', 等print-able字符不需要转义 ⼥孩不哭 @ 2012-12-27 14:47:59 @。
不断读取串口MSCommlInput数据
CommPort 设置或返回通信端口号
Settings Байду номын сангаас字符串的形式设置或返回波特率、奇偶校验、数据位和停止位
PortOpen 设置或返回通信端口的状态。也可以打开和关闭端口
Input 返回和删除接收缓冲区中的字符
Output 将字符串写入发送缓冲区
CommEvent属性为通信事件或错误返回下列值之一。在该控件的对象库中也可以找到这些常量。
Input 返回和删除接收缓冲区中的字符
Output 将字符串写入发送缓冲区
CommEvent属性为通信事件或错误返回下列值之一。在该控件的对象库中也可以找到这些常量。
常量 值 描述
ComEventBreak 1001 收到了断开信号
ComEventCTSTO 1002 Clear To Send Timeout。在发送字符时,在系统指定的事1件内,CTS(Clear To Send)线是低电平
ComEventRxOver 1008 接收缓冲区溢出。在接收缓冲区中没有空间
ComEventRxParity 1009 奇偶校验错。硬件检测到奇偶校验错误7
ComEventTxFull 1010 发送缓冲区满。在对发送字符排队时,发送缓冲区满
ComEventDCB 1011 检取端口DCB(Device Control Blick)时发生了没有预料到的错误
ComEventFrame 1004 数据帧错误。硬件检测到一个数据帧错误
ComEventOverrun 1006 端口溢出。硬件中的字符尚未读,下一个字符又到达,并且丢失
ComEventCDTO 1007 Carrier Detect Time。在发送字符时,在系统指定的事件内,CD(Carrier Detect)线是低电平。CD也称为RLSD(Receive Line Singal Detect,接收线信号检测)
和利时LM系列PLC的moubus通讯举例
1.先打开串口调试工具commix 1.2。
对串口通信参数进行设置:串口选择所用计算机通信口的串口号,如com6;波特率选择跟PLC一样的波特率,如38400;数据位选择和PLC 一样的数据位8位;校验位选择和PLC一样的,N无;停止位选择和PLC一样的1;检验方式选择CRC16(ModbusRTU)。
输入显示都选择HEX.设置完成如下图所示。
2.读取PLC的字地址。
以下例子是读取从站地址为1的PLC地址%MW300,%MW302的数值。
格式如下表所示,从站地址01;功能码用03;起始地址高位、低位为300的modbus地址3150的十六进制0C,4E;寄存器数为2个,所以在寄存器数高位填00,在寄存器数高位填02;校验和CRC由串口调试工具自己算出。
应答RTU帧:123,%MW302的数值为456。
3.写PLC的字地址。
以下例子是写从站地址为1的PLC地址%MW400,%MW402的数值。
格式如下表所示,从站地址01;功能码用10;起始地址高位、低位为400的modbus地址3200的十六进制0C,80;寄存器数为2个,所以在寄存器数高位填00,在寄存器数高位填02;字节计数为两个字,为4个字节;数据是要写入PLC的数值,如100和200写入%MW400和%MW402,则在数据中填入100,200的十六进制数00H 64H,00H C8H;校验和CRC 由串口调试工具自己算出。
4.以下例子是读取从站地址为1的PLC地址%QX0.0~%QX0.7这8个开关量的状态。
格式如下表所示,从站地址01;功能码用01;起始地址高位、低位为%QX0.0的modbus 地址0的十六进制00,00;数据线圈数为8个,所以在数据位线圈数高位填00,在数据位线圈数低位填08;校验和CRC由串口调试工具自己算出。
询问RTU帧:应答格式如上表,数据位FEH,换算成二进制则为,表示%QX0.0状态为0,其余%QX0.1~%QX0.7状态都为1。
Com串口调试工具的使用
串口调试工具的使用串口调试工具,是电脑与下位机通讯的调试工具。
使用方法主要分:配置串口、打开串口、编辑指令、发送指令四步。
打开串口调试工具如图:第一章配置串口单击“参数设置”按扭,弹出串口参数设置对话框:在这里有三种方式供选择:串口类、网络类、MODEM 类。
[FALSEJ FALSE ▼|DTE CONTROL ENABLE JFALSE[FALSE jd[FALSE JFALSE ▼FALSE T我们一般用串口类:单击“ DCB 设置”进入串口设置对话框 停止楼土 [j T ] 奇偶棱验: 元 T 周期性发送周期 ofEinary fOutsCtsFlow fOurtxDsrFlow fDtrControl fRtsCcnt rol fDsr Sensitivity fTKC ont inueOnX of f fOvrtK flnX fErrorChar在该对话框中,一般只对:端口、波特率、数据位、停止位、奇偶校验五个属性进行设置。
端口:为电脑连接的串口,如连在 COM1,则填写COM1。
波特率:一般根据设备的通讯协议要求来设置,如通讯协议规定波特率为 115200,则波特 率应设为115200 ;如规定为 9600,则设为 9600。
数据位、停止位、奇偶校验:参数的设置也应按照通讯协议的规定来进行设置。
通常为 8 位数据位,1位停止位,无校验。
设置好单击“确定”第二章 打开串口对串口进行设置完后,单击主画面中的“连接设备渡 |I1E2OO 数据位= [8 3 按字节发送周期F TRUE 二 RTS_CONTROLJNABLE -这时会在下方的信息框看到打开串口成功。
第三章编辑指令串口打开成功后,就可以在命令编辑框中编写指令了。
如图:立件I巳视閤M 上且⑴帮助固手动发送[01][00][01][0D]是命令。
[01]中用中括号表示:一个 16进制的字符[01H] [0D]表示回车。
第四章发送指令编与好指令后,单击手动发送按钮。
怎样用串口调试助手读取欧姆龙PLC的数据小记
怎样⽤串⼝调试助⼿读取欧姆龙PLC的数据⼩记
⾸先要知道PLC的通讯协议,然后⽤串⼝编程线把PLC和电脑连接起来,打开串⼝调试助⼿,通过ASCII码对应的数据向PLC发送数据。
串⼝调试助⼿是串⼝调试相关⼯具,有多个版本。
如:串⼝调试助⼿,⽀持9600,19200等常⽤各种波特率及⾃定义波特率,可以⾃动识别串⼝,能设置校验、数据位和停⽌位,能以ASCII码或⼗六进制接收或发送任何数据或字符,可以任意设定⾃动发送周期,并能将接收数据保存成⽂本⽂件,能发送任意⼤⼩的⽂本⽂件。
硬件连接⽅⾯,传统台式PC机⽀持标准RS232接⼝,但是带有串⼝的笔记本很少见,所以需要USB/232转换接⼝,并且安装相应驱动程序。
串口调试助手使用说明和技术总结
串口调试助手使用说明和技术总结一、引言二、使用说明1.硬件准备:首先需要一对串口线,将电脑的串口与设备的串口进行连接。
确保连接正确无误。
2. 软件安装:选择一款合适的串口调试助手软件,如Tera Term、SecureCRT等,并进行安装。
3.打开串口:打开串口调试助手软件,选择正确的串口端口号,并设置波特率。
一般情况下,设备的串口通信参数可以在设备的说明书中找到。
4.进行数据收发:点击软件界面上的“打开串口”按钮后,即可开始进行数据的收发。
可以直接在软件的发送窗口中输入要发送的数据,并点击“发送”按钮,或者通过点击“读取文件”按钮,从本地文件中读取数据并发送。
同时,接收到的数据也会在软件的接收窗口中实时显示。
5.数据解析:对于不同格式的数据,可以通过软件提供的解析功能进行解析。
一般情况下,串口数据是以字节流的形式进行传输的,解析时需要将字节解析为可读的格式。
6.其他功能:串口调试助手软件一般还提供了其他功能,如数据录制、数据回放、数据比对等。
根据实际需求,可以灵活运用这些功能。
三、技术总结1.串口通信协议:串口调试助手在数据收发过程中依赖于串口通信协议。
常见的串口通信协议有RS232、RS485等。
了解和理解这些协议对于正确使用串口调试助手非常重要。
3.数据解析:串口调试助手常常需要对收到的字节流进行解析,将其转化为可读的数据。
这需要根据具体的协议和数据格式进行解析工作,例如将十六进制数据转化为ASCII码等。
4.数据录制与回放:一些串口调试助手软件提供数据录制和回放功能,方便在需要时重新进行调试或查看数据。
这对于复杂系统的调试和故障排除非常有用。
5.多串口支持:一些串口调试助手软件支持多串口同时进行数据收发和调试。
这对于同时调试多个设备通信时非常方便。
6.错误处理:在使用串口调试助手过程中,可能会遇到数据传输错误、设备无响应等问题。
正确处理这些错误非常重要,可以使用软件提供的日志记录功能或者手动检查设备连接等方式来定位和解决问题。
系统调试常用软件及使用方法
系统调试常用软件及使用一、常用调试软件简介1、串口调试工具Commix.exe2、TCP客户端/服务端模拟工具TCPTool.exe3、TCP&UDP测试工具4、通讯管理机配置工具SUPv2.01.exe5、局域网查看工具V1.62.exe6、主站PMA规约分析软件7、MODBUS主站模拟软件modscan328、MODBUS从站模拟软件mod_RSsim.exe二、串口调试工具Commix1、测试从站设备通讯是否正常:需要设置的参数有:串口、波特率、校验、输入HEX、显示HEX、其他参数默认。
测试DZ81仪表是否正常,设置参数如下:●串口——串口号●波特率——9600●MdbusRTU——起始字符1,校验选CRC16(MdbusRTU)●输入HEX、显示HEX打开串口,在发送区输入01 03 03 E8 00 04,点发送,在显示窗口应显示,01 03 08 ** ** ************CRC分析报文是否正常。
三、TCP客户端/服务端模拟工具TCPTool1、模拟TCP客户端通过网口读取ASDU指定寄存器数据:2、 模拟服务器1、 用于测试无线模块。
在本机上创建服务器,测试无线模式能否正常连接到服务器,并正常收发数据。
2、 用于测试后台软件与ASDU 通讯。
将服务器的地址和端口号改为ASDU 的IP 地址,查看后台软件能否连接到ASDU ,能否收到数据。
如果能收到数据并正确,再检查ASDU 。
四、通讯管理机配置工具SUPv2.01.exe五、局域网查看工具先将计算机和ASDU用网线直接连接,打开局域网查看工具,设置好要搜索到网段(本机使用的网段要和设置的在同一网段),点“搜索计算机”软件便自动搜索。
搜索到的IP在窗口显示出来,由于是计算机和ASDU直接连接,所以搜到IP就是ASDU。
可设置多网段搜索,一般常用的网段192.168.0和192.168.1。
注意:如本机地址是192.168.0.x,而设置要搜索的网段是192.168.1,是错误的,应先将本机地址修改为要想搜索的网段。
串口调试工具使用
串口通信基本接线方法目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。
最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,本文只涉及到最为基本的接法,且直接用RS232相连。
1.DB9和DB25的常用信号脚说明9针串口(DB9)25针串口(DB25)针号功能说明缩写针号功能说明缩写 1 数据载波检测DCD 8 数据载波检测DCD 2 接收数据RXD 3 接收数据RXD 3 发送数据TXD 2 发送数据TXD 4 数据终端准备DTR 20 数据终端准备DTR 5 信号地GND 7 信号地GND 6 数据设备准备好DSR 6 数据准备好DSR 7 请求发送RTS 4 请求发送RTS 8 清除发送CTS 5 清除发送CTS 9 振铃指示DELL 22 振铃指示DELL 2.RS232C串口通信接线方法(三线制)首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连·同一个串口的接收脚和发送脚直接用线相连对9针串口和25针串口,均是2与3直接相连;·两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接,就能百战百胜。
3.串口调试中要注意的几点:串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。
单工、半双工和全双工的定义如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通信采用MODBUS RTU协议,一帧数据格式为: 1位起始位+8位数据+1位停止位
通信采用Modbus通信协议功能代码:
03H——读单个或连续多个寄存器
06H——写单个寄存器
10H——写连续多个寄存器
RTU命令格式及示例
03H——读单个或连续多个寄存器
下传命令:
注:的内容。
反馈:
注:(阴影部分)。
06H——写单个寄存器
下传命令:
注:向地址为01H的模块中起始地址为0102H的寄存器中写入1 WORD数据(阴影部分)。
注:
10H——写连续多个寄存器
注 2 WORD 数据内容(阴影部分)。
反馈:
用COMMIX串口调试软件读取数据:
在使用前,需先将效验方式选择为“CRC16(ModbusRTU)”,如图(1)所示。
其余设置参见图(2)。
图(1)
读取电机实时状态,比如读取全部96台电机的状态,则可发送命令“01 03 20 00 00 0c”
01:设备地址(再起动控制柜地址)
03:功能号(读单个或连续多个寄存器)
2000:实时电机状态(1~8号电机)寄存器地址
000c:从起始地址为2000H的寄存器读取连续12 WORD的内容。
如图(2)所示:
图(2)
发送之后,反馈如图(3):(运行的电机为9~16号电机,其余电机没有运行)
图(3)。