第三章以C++Builder设计 Modbus通信程序.pdf

上传人:asd****56 文档编号:70321884 上传时间:2023-01-19 格式:PDF 页数:51 大小:746.21KB
返回 下载 相关 举报
第三章以C++Builder设计 Modbus通信程序.pdf_第1页
第1页 / 共51页
第三章以C++Builder设计 Modbus通信程序.pdf_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《第三章以C++Builder设计 Modbus通信程序.pdf》由会员分享,可在线阅读,更多相关《第三章以C++Builder设计 Modbus通信程序.pdf(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第三章:以第三章:以 C+Builder 设计设计 Modbus 通信程序通信程序 本章提供于 Windows 操作系统设计 Modbus 通信程序所需的基本子程序,以 Borland C+Builder V5.0 所设计的 Sample Porgram 提供读者参考。所有原始档(source program)都存于随书赠送的光盘片内。读者必须了解通信程序是需要高度与操作系统的 API 相配合,各种资料型态的转换,Multi-Thread 的运用,时间的掌控等事项,以 C 语言为最适合的语言。1 基本子程序作成基本子程序作成 DLL 因为设计 Modbus 通信程序时,需要 RS232C 联机

2、、资料型式的转换、LRC、CRC 计算等功能。此方面以 C 语言设计才能达到所要的需求,故必须将这些基本功能设计成 DLL 的方式,让其它以 C+或 VB 设计的主程序更方便使用。以下列出各种子程序的说明及用法。以下子程序将设计成 MB_SUB.DLL,使用时必须存入 Windows 的系统目录内。1.1 RS232C 基本子程序基本子程序 Subroutine Name:BOOL seropen(int nPort,int nBaud,char parity,int data_bit,int stop_bit,int flow)Source Name:RS232_SUB.c Library

3、Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:Open COM port。Parameter 说明:int nPort:所要 open 的 port no.(例如:COM1 为 port=1)。int Baud:通信 baud rate(由 1200、2400、115200 等)。char parity:位检查(N:None、O:Odd、E:Even)。int data_bit:每个位 bits 数(7 or 8)。int stop_bit:每个位 stop bits(1 or 2)。int flow:设定 flow

4、 control(0:不要、1:要)。Return Code:true:设定正常。false:设定异常。处理说明:1:依据所设定的通信系数,open COM port。2:使用 CreateFile()、GetCommState()、SetCommState()、GetCommTimeouts()、SetCommTimeouts()等 RS232C 通信相关的Windows System API。使用例子:int port,baud,parity,data_bit,stop_bit,flow;BOOL rc;port=1;/COM1 port baud=19200;parity=N;data_

5、bit=8;stop_bit=1;flow=0;rc=seropen(port,baud,parity,data_bit,stop_bit,flow);Subroutine Name:BOOL serclose(int nPort)Source Name:RS232_SUB.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:Open COM port。Parameter 说明:int nPort:所要 close 的 port no.(例如:COM1 为 port=1)。Return Code:Tru

6、e:设定正常。false:设定异常。处理说明:1:close COM port。2:使用 CloseHandle()的 Windows System API。使用例子:int port,baud,parity,data_bit,stop_bit,flow;BOOL rc;port=1;/COM1 port rc=serclose(port);Subroutine Name:int serwrite(int nPort,char*data,int len)Source Name:RS232_SUB.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语

7、言:C+Builder V5.0 子程序说明:由 COM port 输出 n bytes data。parameter 说明:int nPort:所要输出的 port no.(例如:COM1 为 port=1)。char*data:所要输出的 data buffer area。int len:所要输出 data 的 byte 数。Return Code:所输出成功的 data byte 数。处理说明:1:依据所设定的 data,由指定 COM port 输出。2:使用 WriteFile()的 Windows System API。使用例子:int port,len,rc;char buff8

8、0;port=1;/COM1 port len=10;strcpy(buff,“ABCDEFGHIJ”);rc=serwrite(port,buff,len);Subroutine Name:BOOL sersend(int nPort,char Byte)Source Name:RS232_SUB.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:由 COM port 输出一个 byte data。parameter 说明:int nPort:所要输出的 port no.(例如:COM1 为 por

9、t=1)。char Byte:所要输出的 byte data。Return Code:True:输出正常。false:输出异常。处理说明:1:依据所设定的 byte,由指定 COM port 输出。2:使用 WriteFile()的 Windows System API。使用例子:int port;BOOL rc;char data;port=1;/COM1 port data=A;rc=sersend(port,data);Subroutine Name:short serrecv(int nPort)Source Name:RS232_SUB.c Library Name:MB_SUB.L

10、IB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:由 COM port 接收一个 byte data。parameter 说明:int nPort:所要接收的 port no.(例如:COM1 为 port=1)。Return Code:不为 1 时,表示接到 byte data 的值。-1:表示未接到任何 byte data 处理说明:1:依据所设定的 data,由指定 COM port 输出。2:使用 ReadFile()的 Windows System API。使用例子:int port;short ch;port=1;/COM1 port

11、 ch=serrecv(port);Subroutine Name:int serread(int nPort,void*buffer,int limit)Source Name:RS232_SUB.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:由 COM port 接收 n bytes data。Parameter 说明:int nPort:读取由 COM port 所接到的 data(例如:COM1 为port=1)。void buffer:接到 data 所存入的 buffer area。i

12、nt limit:最大读取数 Return Code:0:表示未接到任何 byte data。0:表示实际接到 byte data 数目。处理说明:1:依据所设定的 data,由指定 COM port 输出。2:使用 ReadFile()的 Windows System API。使用例子:int port,limit,rc;char buff80;port=1;/COM1 port limit=80;rc=serread(port,buff,limit);Subroutine Name:void serflush(int nPort)Source Name:RS232_SUB.c Librar

13、y Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:清空系统内 COM port 的 buffer area。parameter 说明:int nPort:所要清空的 port no.(例如:COM1 为 port=1)。Return Code:无 处理说明:1:使用 PurgeComm()的 Windows System API。使用例子:int port;port=1;/COM1 port ch=serrecv(port);Subroutine Name:int serloc(int nPort)Source Na

14、me:RS232_SUB.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:检查 COM port 输入 buffer 内,尚有几个 byte data 未被程序读取。Parameter 说明:int nPort:所要检查的 port no.(例如:COM1 为 port=1)。Return Code:输入 buffer 内 byte data 数。处理说明:1:使用 ClearCommError()的 Windows System API。使用例子:int port;int len;port=1;/

15、COM1 port len=serloc(port);1.2 LRC 及及 CRC Check 子程序子程序 Subroutine Name:void LRC_check(buff,len,chk)Source Name:Error_Check.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:计算 LRC ckeck code(2 ASCII code)。Parameter 说明:unsigned char*buff:所要计算的资料。int len:所要计算的资料长度 unsigned char*c

16、hk:计算结果存入位置。Return Code:无。处理说明:1:计算原理,详如第二章 2.3 节。使用例子:unsigned char buff80,chk2;int len;/由前面程序整理出 buff 内资料及长度 LRC_check(buff,len,chk);Subroutine Name:void CRC_check(buff,len,chk)Source Name:Error_Check.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:计算 CRC ckeck code(2 bytes

17、(8 bits)code)。Parameter 说明:unsigned char*buff:所要计算的资料。int len:所要计算的资料长度 unsigned char*chk:计算结果存入位置。Return Code:无。处理说明:1:计算原理,详如第二章 2.3 节。使用例子:unsigned char buff80,chk2;int len;/由前面程序整理出 buff 内资料及长度 CRC_check(buff,len,chk);Subroutine Name:void CRC_calc(c,crc)Source Name:Error_Check.c Library Name:MB_

18、SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:计算 CRC 一个 byte,与 CRC_check 配合使用。Parameter 说明:unsigned char c:所要计算的资料。unsigned short*crc:CRC 计算暂存值。Return Code:无。处理说明:1:计算原理,详如第二章 2.3 节。使用例子:1.3 时间及资料转换子程序时间及资料转换子程序 Subroutine Name:int tsleep(interval)Source Name:winsys.c Library Name:MB_SUB.LIB

19、、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:程序暂停。para.说明:long interval:暂停时间,单位 millsecond.。Return Code:-1:异常 0:正常 处理说明:1:以 Windows System API Sleep()设定暂停时间。2:程序会暂停等待该 interval 后 return。使用例子:long interval;interval=20000;/暂停 20 秒。tsleep(interval);Subroutine Name:int get_date_time(year,month,day,hou

20、r,minute,second,msec,week)Source Name:winsys.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:取入系统日期时间。para.说明:short*year:公元年(4 位数)。short*month:月。short*day:日。short*hour:时。short*minute:分。short*second:秒。short*msec:milliseconds。short*week:星期。Return Code:-1:异常 0:正常 处理说明:1:以 Window

21、s System API GetLocalTime()取入日期时间。使用例子:short year,month,day,hour,minute,second,msec,week;get_date_time(&year,&month,&day,&hour,&minute,&second,&msec,&week);Subroutine Name:int set_date_time(year,month,day,hour,minute,second)Source Name:winsys.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Buil

22、der V5.0 子程序说明:设定系统日期时间。para.说明:short year:公元年(4 位数)。short month:月。short day:日。short hour:时。short minute:分。short second:秒。Return Code:-1:异常 0:正常 处理说明:1:以 Windows System API SetLocalTime()设定日期时间。使用例子:short year,month,day,hour,minute,second;year=1997;month=12;day=30;hour=8;minute=59;second=0;set_date_

23、time(year,month,day,hour,minute,second);Subroutine Name:itascxr(data,n,buf)Source Name:Error_check.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:将 16 bits 整数转换成靠右的十六进制(Hex.)ASCII code 字符串。Parameter 说明:unsigned short data:所要转换整数。short n:所要转换后 HEX 位数。char buf:转换后 HEX 存放 Buffe

24、r。Return Code:0:设定正常。-1:所转换位数超过 n 值。处理说明:1:依 16 bits 整数型式转换数值成 HEX 字符串。2:将转换结果填入 buf 内。3:如果位数超过则填入*。4:如果 N data HEX 长度则超过部份,分成两种情形处理,当 N 为正数以空白存入,当 N 为负数以 ASCII Code 0存入。详见使用例子说明。使用例子:unsigned short data;short n;char buff10;data=1234;n=4;itascxr(data,n,buff);/转换后 buff 存入字符串为 4D2,其中 buff0是存入空白ASCII C

25、ode data=1234;n=-4;itascxr(data,n,buff);/转换后 buff 存入字符串为 04D2,其中 buff0是存入 0ASCII Code Subroutine Name:ascxti(buf,n,data)Source Name:Error_Check.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:将十六进制 ASCII Code 字符串转换成 16 bits 整数。para.说明:char buf:要转换的 HEX 字符串。short n:要转换的 HEX 字符

26、串位数。unsigned short*data:转换后 16 bits 整数存放位置。Return Code:0:转换正常。-1:非十六进制 ASCII Code 字符串。-2:Overflow 处理说明:1:将 HEX 字符串依 16 bits 整数型式转换成数值。使用例子:unsigned short data;short n,rc;char buff10;strcpy(buff,“012A”,4);n=4;ascxti(buff,n,&data);/转换后 data 值为 298(十进制)strcpy(buff,“ST34”,4);n=4;rc=ascxti(buff,4,&data);

27、/因为含有非十六进制的 ASCII Code 字符串,转换后 rc 值为-1 Subroutine Name:bitrd(data,top,end)Source Name:Error_Check.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:读取 data 变量某几个 bit 值。para.说明:unsigned short*data:要读取 bit 数值之变量。short top:起始 Bit No.(0-15,由右边算起)。short end:终止 Bit No.(0-15,由右边算起)。Re

28、turn Code:所读取的数值 处理说明:1:将由 top 至 end 位置之 Bit 数值取入右移后回传。使用例子:data=0 x01F0;I=bitrd(&data,1,5);则 i=24 Subroutine Name:bitwt(data1,top,end,data2)Source Name:Error_Check.c Library Name:MB_SUB.LIB、MB_SUB.DLL、MB_SUB.h 设计语言:C+Builder V5.0 子程序说明:写入一数值于 data1 变量内某几个 bit 位置。para.说明:unsigned short*data1:被写入 bit

29、 数值之变量。short top:起始 Bit No.(0-15,由右边算起)。short end:终止 Bit No.(0-15,由右边算起)。short data2:所要写入用的数值。Return Code:均为正常 处理说明:1:将 data1 由 top 至 end 位置之 Bit 以 data2 数值写入。使用例子:2 Borland C+Builder 5.0 设计设计 Modbus 通信程序通信程序 2.1 Utility 通信程序基本操作及功能通信程序基本操作及功能 此 Utility 通信程序设计成 Modbus Master 及 Slave 两种角色,安装于PC后使用RTU

30、、ASCII、TCP等三种资料格式通信,所以可以连接Modbus Slave 设备。例如:Modicon PLC、Modbus 电表、温度表.等等。又同时仿真 Slave Server 功能,与监控系统的 Modbus Master Driver 通信,提供 Modbus Relay/Register 资料,如同连接实际的 Modbus 设备一样。这是一条很好的 Modbus 联机测试程序,先将主要功能如下所列:?Modbus Master 使用 1、2、3、4 等四种 Function Code,读取Relay 及 Register 资料。使用 5、6 等两种 Function Code,可

31、以做单点设定(写入)Relay 及 Register 资料。?Modbus Slave 功能接收 1、2、3、4、5、6、15、16 等两种 Function Code。提供 Output Coil、Input Relay、Holding Register、Input Register 等四种信号资料。?Modbus Slave 各种信号最大点数如下。每一信号点都可以设定数值,如此与监控系统连接时,可以仿真各种状况,非常方便。?Output Coil 1024 点。?Input Relay 1024 点?Holding Register 1024 点?Input Register 1024 点

32、?Modbus Master/Slave 都具有 Modbus RTU、ASCII 及Modbus/TCP 等三种通信格式。?共有 Master RTU、Master ASCII、Master TCP、Slave RTU、Slave ASCII、Slave TCP 等六种画面分别执行一种 Modbus 通信方式。画面使用 Multi-Document 的方式,六个画面可以同时使用。每个画面都提供通信系数设定、信号点变量等各自分别使用,互不干扰。?通信的 Message 及异常讯息实时显示,由此可以推定出通信问题的所在。图(3-1):Utility 主画面 Menu 功能:主画面显示区讯息显示?

33、MasterMaster RTU:激活 Modbus Master RTU type 操作画面。?MasterMaster ASCII:激活 Modbus Master ASCII type 操作画面。?MasterMaster TCP:激活 Modbus/TCP Master type 操作画面。?MasterExit:Utility 程序停止。?SlaveSlave RTU:激活 Modbus Slave RTU type 操作画面。?SlaveSlave ASCII:激活 Modbus Slave ASCII type 操作画面。?SlaveSlave TCP:激活 Modbus/TCP

34、 Slave type 操作画面。?WindowsCascade:将 Multi-Document 画面变成重迭方式排列。?WindowsTite Horizontally:将 Multi-Document 画面变成水平方式排列。?WindowsTite Vertically:将 Multi-Document 画面变成垂直方式排列。?About:显示本程序的基本信息。图(3-2):Multi-Document 画面画面显示 图(3-3):Master RTU 通信操作画面 Master RTU 通信操作画面内各种字段使用说明如下:?Port Define Button:进入 RS232C 通信

35、系数设定画面。设定 baud rate、parity、data bits、stop bits 等。并且选择所要使用的 COM Port。选择完成后,结果显示于 Button 下方的讯息字段。?Open Button:Open COM Port。?Close Button:Close COM Port?Function Code:选择 Output Coil、Input Relay、Holding Register、Input Register 等四种信号种类。?Modbus Device Address:所要联机的 Modbus Slave Address。必须于 1 247 之间。?Regi

36、ster/Relay Address:所要通信的起始位置。必须于 1 9999之间。?Communication Words/Bits:一次可以读取的最大量。Register 为 120 words,Relay 为 1920 bits。?Send command Button:当 Modbus Query Command 系数设定完成后,以此 Button 将此 Query Message 送出。结果会显示于下方表格内。?Set data value Button:当 Query Message 通信正常,信号资料显示于下方表格内后。以 Mouse 选取一个信号数据域位,按此 Button会显

37、示一个Set Data valueDialog Box,设定信号资料完成后,转换成Query Command通信传出,将此数值写入外部Modbus Slave Device 上。如果直接以 Mouse Double click 某一个信号数据域位,也可以达到相同的功能。图(3-4):信号数值设定画面(Relay 部份)图(3-5):信号数值设定画面(Register 部份),有 Decimal 及 Hex.两种资料格式 图(3-6):Master RTU 通信完成显示画面(Relay 部份)图(3-7):Master RTU 通信完成显示画面(Register 部份)图(3-8):RS232C

38、 通信系数设定画面 通信系数设定画面内各种字段使用说明如下:?COM Port:所要定义的 COM Port。可选择 COM1 COM8。?Baud Rate:1200、2400、4800、9600、19200、38400、57600、115200等。?Parity:None、Odd、Even 等?Data Bit:7、8 等?Stop Bit:1、2 等?Used COM Port:选择所要使用的 COM Port。图(3-9):Master ASCII 通信操作画面 Master ASCII 通信操作画面内各种字段使用方式,与 Master RTU 只有信号的通信点数不一样外,其它完全相同

39、。?Communication Words/Bits:一次可以读取的最大量。Register 为 60 words,Relay 为 960 bits。最大量不一样的原因是:Modbus Message最多为 256 bytes,扣除每条 Message 内的基本 Header 资料外,约有 240 bytes 可用来表示信号值等。图(3-10):Master TCP 通信操作画面 Master TCP 通信操作画面内各种字段使用方式,与 Master TCP 只有使用 COM Port 与 TCP/IP Port 用法不一样外,其它完全相同。?Open Button:Connect Remot

40、e Modbus Slave Server。?Close Button:Disconnect Remote Modbus Slave Server。?IP Address:Remote Modbus Slave Server IP Address。?Port No.:Remote Modbus Slave Server TCP Port No.。预设为 502。?Modbus Device Address:所要联机的 Modbus Slave Address。必须于 1 247 之间。?Register/Relay Address:所要通信的起始位置。必须于 1 9999之间。?Communi

41、cation Words/Bits:一次可以读取的最大量。Register 为 120 words,Relay 为 1920 bits。图(3-11):Slave RTU 通信操作画面 Slave Server RTU 通信操作画面内各种字段使用方式说明:?Port Define Button:进入 RS232C 通信系数设定画面。设定 baud rate、parity、data bits、stop bits 等。并且选择所要使用的 COM Port。选择完成后,结果显示于 Button 下方的讯息字段。?Open Server Button:Open COM Port。开始等待外部 Quer

42、y Message的传入。?Close Server Button:Close COM Port。停止接收外部 Query Message。?内部信号的使用方式:Output Coil、Input Relay、Hodling Register、Input Register等四种信号各显示于下方四个Page画面内。当Mouse Double click 某一个信号数值字段时,显示Set Relay/Register ValueDialog Box,做信号数值的设定。?当与外部 Modbus Master Driver 联机要求信号资料时,Slave Server就以目前所显示的值转成 Respo

43、nse Message 响应。如此可以依据实际需要,设定各点信号数值,达到仿真实际 Modbus Device 的效果。图(3-12):Slave Server 信号数值设定画面(Relay 部份)图(3-13):Slave Server 信号数值设定画面(Relay 部份),有 Decimal 及 Hex.两种资料格式 图(3-14):Slave ASCII 通信操作画面 Slave Server ASCII 通信操作画面内各种字段使用方式说明与 Slave Server RTU 完全相同。图(3-15):Slave TCP 通信操作画面 Slave Server TCP 通信操作画面内各种

44、字段使用方式说明与 Slave Server RTU 大致相同。只是 Open/Close 的是 TCP/IP 的通信 Port 而不是 COM Port。所有画面的通信异常处理:RS232C 或网络线路不正常、Modbus Slave设备未开机,所指定的 Modbus Address 或 IP Address 不存在等状况。程序都会显示异常讯息。例如:RS232C time out error、TCP connect error rtc=10060等。2.2 Utility 实际操作与功能展示实际操作与功能展示 藉由下面一个测试架构来说明此 Utility 的正确使用方式,也希望先让读者对于

45、 Modbus 通信有一个基本的体会,才能够了解下面更精彩的程序。因为通信程序是牵连两端的系统,常常因为不知道何端错误,造成通信不通。读者由此测试步骤了解通信的第一步,然后才能谈到实际的运用。图(3-16):Utility 功能展示架构图 依照上一章节说明的基本操作,做下表各项目操作,并确认结果。项目 操作说明 结果确认 系数设定 PC-1 Master RTU:以Port Define Button,使用 COM1 19200 N 8 1。画面所显示的通信是否正确 PC-1 Master ASCII:以Port Define Button,使用 COM2 9600 O 7 1。同上 PC-2

46、 Slave RTU:以Port Define Button,使用 COM1 19200 N 8 1。同上 PC-2 Slave RTU:以Port Define Button,使用 COM2 9600 O 7 1。同上 Open Port 按下 PC-1 Master RTU and Master ASCII Open Button。Close Button 变成可以操作 第二台 PC 安装 Modbus_Tool程序后,激活 Slave RTU 及Slave ASCII 画面,将此 PC 当Slave Server 角色,如同外部的Modbus Device。第一台 PC 安装 Modbu

47、s_Tool程序后,激活 Master RTU 及Master ASCII 画面,将此 PC当做对外要求资料的角色 按下 PC-2 Master RTU and Master ASCII Open Button。同上 设定 SlavePC端的信号数值 于 PC-2 Slave RTU and Slave ASCII 画面上设定任意数个 Relay/Register 信号数值。此数值将可以被 Master 所读取。所设定数值是否显示于画面上。Master读取信号 PC-1 Master RTU 选取 Function Code,设定 Modbus device,Relay/Register Ad

48、dress、Communication Words/Bits 等系数,然后按 Send command Button 开始通信读取。注意:Relay/Register 要为上一项 Slave所设定范围内,如此才可以看到信号数值而不是全部都是 0。PC-1 画面显示 Query Message and Response Message,并且显示资料内容。PC-2 Slave RTU 画面显示Query Message and Response。对照此两者内容是否正确。PC-1 Master ASCII 选取 Function Code,设 定Modbus device,Relay/Registe

49、r Address、Communication Words/Bits 等系数,然后按 Send command Button 开始通信读取。注意:Relay/Register 要为上一项 Slave所设定范围内,如此才可以看到信号数值而不是全部都是 0。PC-1 画面显示 Query Message and Response Message,并且显示资料内容。PC-2 Slave ASCII 画面显示Query Message and Response。对照此两者内容是否正确。Master写入信号 PC-1 Master RTU 已经显示读取资料。将Mouse 点取某一个信号字段,然后按Set

50、 data value,显示信号值设定画面,输入数值后按 OK。PC-1 画面显示 Query Message and Response Message,并且显示资料内容。PC-2 Slave RTU 画面显示Query Message and Response。同时此值也写入信号数值表内。对照此两者内容是否正确。PC-1 Master ASCII 已经显示读取资料。将 Mouse 点取某一个信号字段,然后按Set data value,显示信号值设定画面,输入数值后按 OK。PC-1 画面显示 Query Message and Response Message,并且显示资料内容。PC-2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁