CN100445976C - 一种自动识别与主控计算机通讯的设备的方法 - Google Patents
一种自动识别与主控计算机通讯的设备的方法 Download PDFInfo
- Publication number
- CN100445976C CN100445976C CNB200610016557XA CN200610016557A CN100445976C CN 100445976 C CN100445976 C CN 100445976C CN B200610016557X A CNB200610016557X A CN B200610016557XA CN 200610016557 A CN200610016557 A CN 200610016557A CN 100445976 C CN100445976 C CN 100445976C
- Authority
- CN
- China
- Prior art keywords
- main control
- control computer
- equipment
- port
- serial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明属于数据通讯技术领域,涉及一种自动识别与主控计算机通讯设备的方法,通过引入与多路串行通信卡串行端口相连设备的标识号,使主控计算机能够根据通讯数据携带的标识号快速识别与其进行数据通讯的设备,根据接收到的设备输出的自身运行参数和状态了解设备的运行情况,从而方便地进行设备测试和维修,对于有多个设备的自动控制系统,大大减小了测试和维修的难度。
Description
技术领域
本发明属于数据通讯技术领域,涉及自动控制系统中的一种识别与主控计算机进行数据通讯分系统的设备的方法。
背景技术
随着计算机与电子技术的快速发展和新型传感器的不断涌现与应用,采用单个计算机控制方式已越来越难以满足自动控制系统设备控制的要求。一方面,所控制的每个分系统设备既需要外部输入一些必要的信息,也需要向外部输出自身的运行参数和状态;另一方面,各个分系统设备间所需传输的控制信号也日益增加,所有这些,都要求我们采用分布式控制网络技术,将众多设备通过高速RS-485/RS-422串行端口与主控计算机有机地连成一体,以保证整个系统安全可靠地运行。如何从众多的RS-485/RS-422串行端口中自动识别与主控计算机进行数据通讯的分系统设备,传统方法是采用在串行端口处粘贴标签及记载串行端口说明的配套资料借助人的智能来完成,大大增加了控制系统的维修和测试难度。
发明内容
为了解决现有技术存在的自动控制系统维修和测试难度大的问题,本发明提供一种自动识别与主控计算机通讯的设备的方法,通过引入与主控计算机相连设备的标识号,使主机能够快速识别与其进行通讯的设备,了解设备的运行情况,从而对设备及时、方便地进行测试和维修。
本发明特征在于采用下列步骤:
a、将多路串行通信卡安装在主控计算机的PCI总线扩展槽内;
b、在主控计算机上安装Windows 2000操作系统,参照多路串行通信卡的操作手册对其进行驱动,在事件管理器里查看该卡是否加载成功,若加载成功则可在主控计算机的设备管理器里查看该卡相应的信息;
c、在主控计算机的设备管理器里设置多路串行通信卡的各端口序号;
d、给主控计算机及将要与其相连的每台设备分配唯一的标识号;
e、确定主控计算机与每台设备间的串行通讯协议,依据选定协议为控制每台设备的微处理器引出信号线及插头与多路串行通信卡的各端口相连,使主控计算机与每台设备能按串行通讯协议进行通讯;
f、先为每台设备分配一个串行端口号,在主控计算机中保存与设备相连的端口号及其标识号;
g、在主控计算机与控制每台设备的微处理器中进行程序编制,实现二者按设定的通讯格式和波特率进行数据通讯,主控计算机可根据通讯数据所携带的标识号来识别与串行端口相连的各台设备。
主控计算机执行主控程序实现下列步骤:
①、对多路串行通信卡的串行端口进行初始化设置;
②、对多路串行通信卡的各个端口进行扫描,接收带有设备标识号的数据信息;
③、判断接收数据的波特率是否为设置的波特率,是则转步骤④,否则转步骤⑥;
④、判断接收的数据信息所携带的标识号是否为已经分配给已知设备的标识号,是则接收的数据信息为已知设备的数据信息,转步骤⑤;否则接收的数据为未知设备的数据信息,转步骤⑥;
⑤、识别接收的数据信息属于哪一个已知设备;
⑥、判断是否结束对多路串行通信卡串行端口的扫描,是则转步骤⑦,否则转步骤③;
⑦、在所有串行端口号中剔除已检测出来的串行端口号,余下的串行端口号顺序分配给未开机的设备;
⑧、关闭所有串行端口。
本发明的工作过程:打开主控计算机要访问的多路串行通信卡串行端口并进行扫描,循环接收带有设备标识码的数据信息。如果接收的数据信息的波特率是预先设置的主控计算机和设备通信波特率,则根据接收数据信息携带的识别码判断接收的数据信息属于哪一个设备。如果已知设备没有开机,则在所有串行端口号中剔除已检测出来的串行端口号,余下的串行端口号顺序分配给未开机的设备,在分配完所有的串行端口后关闭所有串行端口。
有益效果:本发明通过引入与多路串行通信卡串行端口相连设备的标识号,使主控计算机能够根据标识号快速识别与其进行数据通讯的设备,根据接收到的设备输出的自身运行参数和状态了解设备的运行情况,从而及时、方便地进行设备测试和维修,对于有多个设备的自动控制系统,大大减小了测试和维修的难度。
附图说明
图1为本发明硬件结构示意图。图中1、2、3、4、5为自动控制系统中与主控计算机通讯的已知设备,6多路串行通信卡,7主控计算机。
图2为本发明计算机主控程序流程图。
具体实施方式
如图1所示,本发明多路串行通信卡6采用美国MOXA公司C320Turbo/PCI的八路高速串行通信卡,主控计算机7选用PC机;该多路串行通信卡6安装在主控计算机7的PCI总线扩展槽上。通过主控计算机7设置八路高速串行通信卡端口序号为Com5~Com12,主控计算机7标识号为0xd0,设备1、2、3、4、5标识号分别为0xd1、0xd2、0xd3、0xd4、0xd5。主控计算机7与设备1、2、3、4、5的通信格式采用串行通信协议(设置起始位、停止位、数据位、奇偶校验等),对于少量数据非实时传输的设备波特率选择9.6kbps,对于大量数据实时传输的设备选择波特率19.2kbps。
软件编程中,首先包含串行设备MOXA公司提供的Pcomm.h头文件(以下调用的函数均在其中有说明),编译时链接串行设备MOXA公司提供的Pcomm.lib库文件。对各台设备的微处理器用C语言进行程序编制,主控计算机程序用Visual C++语言编制。串行口初始化:应用sio_open(int port)函数打开要访问的串行端口,用sio_ioctl(int port,int baud,int mode)设置串行端口的串行通信协议(包括串行端口的Baud率、起始位、数据位、停止位、奇偶校验位),其中nPort为5~12。定义串行端口接收与发送数据的缓冲区分别为BYTE Asyn_RBuf[24]、Asyn_Sbuf[24];主控计算机7用sio_write(int port,char*buf,int len)向设备(1~5)发送带有主控计算机标识号(0xd0)的数据信息,用sio_flush(int port,int func)清空串行端口数据;主控计算机7用sio_read(int port,char*buf,int len)循环接收带有设备1、2、3、4、5标识号0xd1、0xd2、0xd3、0xd4、0xd5的数据信息,根据标识号达到确定与串行端口相连设备的名称;如果设备1、2、3、4、5中的某个或几个未开机,则在所有串行端口号中剔除已检测出来的串行端口号,余下的串行端口号顺序分配给未开机的设备;在分配完所有的串行端口后,用sio_close(int port)关闭所有串行端口。
Claims (3)
1、一种自动识别与主控计算机通讯的设备的方法,其特征在于采用下列步骤:
a、将多路串行通信卡安装在主控计算机的PCI总线扩展槽内;
b、在主控计算机上安装Windows 2000操作系统,参照多路串行通信卡的操作手册对其进行驱动,在事件管理器里查看该卡是否加载成功,若加载成功则可在主控计算机的设备管理器里查看该卡相应的信息;
c、在主控计算机的设备管理器里设置多路串行通信卡的各端口序号;
d、给主控计算机及将要与其相连的每台设备分配唯一的标识号;
e、确定主控计算机与每台设备间的串行通讯协议,依据选定协议为控制每台设备的微处理器引出信号线及插头与多路串行通信卡的各端口相连,使主控计算机与每台设备能按串行通讯协议进行通讯;
f、先为每台设备分配一个串行端口号,在主控计算机中保存与设备相连的端口号及其标识号;
g、在主控计算机与控制每台设备的微处理器中进行程序编制,实现二者按设定的通讯格式和波特率进行数据通讯;
主控计算机执行主控程序实现下列步骤:
①、对多路串行通信卡的串行端口进行初始化设置;
②、对多路串行通信卡的各个端口进行扫描,接收带有设备标识号的数据信息;
③、判断接收数据的波特率是否为设置的波特率,是则转步骤④,否则转步骤⑥;
④、判断接收的数据信息所携带的标识号是否为已经分配给已知设备的标识号,是则接收的数据信息为已知设备的数据信息,转步骤⑤;否则接收的数据为未知设备的数据信息,转步骤⑥;
⑤、识别接收的数据信息属于哪一个已知设备;
⑥、判断是否结束对多路串行通信卡串行端口的扫描,是则转步骤⑦,否则转步骤③;
⑦、在所有串行端口号中剔除已检测出来的串行端口号,余下的串行端口号顺序分配给未开机的设备;
⑧、关闭所有串行端口。
2、根据权利要求1所述的自动识别与主控计算机通讯的设备的方法,其特征在于:多路串行通信卡(6)采用美国MOXA公司C320Turbo/PCI的八路高速串行通信卡,八路高速串行通信卡端口序号为Com5~Com12,主控计算机(7)标识号为0xd0,设备(1、2、3、4、5)标识号分别为0xd1、0xd2、0xd3、0xd4、0xd5;主控计算机(7)与设备(1、2、3、4、5)串行通信的波特率选择9.6kbps或19.2kbps。
3、根据权利要求1所述的自动识别与主控计算机通讯的设备的方法,其特征在于软件编程中,包含美国MOXA公司提供的Pcomm.h头文件,编译时链接美国MOXA公司提供的Pcomm.lib库文件;对各台设备的微处理器用C语言进行程序编制,主控计算机程序用VisualC++语言编制;串行口初始化:应用sio_open(int port)函数打开要访问的串行端口,用sio_ioctl(int port,int baud,int mode)设置串行端口的串行通信协议,其中nPort为5~12;定义串行端口接收与发送数据的缓冲区分别为BYTE Asyn_RBuf[24]、Asyn_Sbuf[24];主控计算机(7)用sio_write(int port,char*buf,int len)向设备(1~5)发送带有主控计算机标识号0xd0的数据信息,用sio_flush(int port,int func)清空串行端口数据;主控计算机(7)用sio_read(int port,char*buf,int len)循环接收带有设备(1、2、3、4、5)标识号0xd1、0xd2、0xd3、0xd4、0xd5的数据信息,根据标识号达到确定与串行端口相连设备的名称;如果设备(1、2、3、4、5)中的某个或几个未开机,则在所有串行端口号中剔除已检测出来的串行端口号,余下的串行端口号顺序分配给未开机的设备;在分配完所有的串行端口后,用sio_close(int port)关闭所有串行端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200610016557XA CN100445976C (zh) | 2006-01-24 | 2006-01-24 | 一种自动识别与主控计算机通讯的设备的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200610016557XA CN100445976C (zh) | 2006-01-24 | 2006-01-24 | 一种自动识别与主控计算机通讯的设备的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101008930A CN101008930A (zh) | 2007-08-01 |
CN100445976C true CN100445976C (zh) | 2008-12-24 |
Family
ID=38697367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200610016557XA Expired - Fee Related CN100445976C (zh) | 2006-01-24 | 2006-01-24 | 一种自动识别与主控计算机通讯的设备的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100445976C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706764B (zh) * | 2009-11-26 | 2011-09-07 | 成都市华为赛门铁克科技有限公司 | 外围器件快速互联设备及与不同通信端匹配的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043746B (zh) * | 2010-12-01 | 2012-08-29 | 深圳市茁迩科技发展有限公司 | 串行总线通信设备的自动排序方法、装置、设备及系统 |
CN104579538A (zh) * | 2013-10-09 | 2015-04-29 | 上海市计算技术研究所 | 一种数据传输方法及其装置 |
CN104536926B (zh) * | 2014-12-22 | 2018-05-01 | 深圳市科漫达智能管理科技有限公司 | 串口设备的控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1078337A (zh) * | 1990-12-20 | 1993-11-10 | 国际商业机器公司 | 串行网络拓扑生成器 |
JPH10116242A (ja) * | 1996-10-11 | 1998-05-06 | Nec Corp | 周辺機器切り替え方式 |
US6557050B1 (en) * | 1999-09-02 | 2003-04-29 | International Business Machines Corporation | Display computer with on-screen identifiers for multiple serial ports for avoiding physical mislabelling of ports |
US20050210475A1 (en) * | 2004-03-22 | 2005-09-22 | Paul Hepworth | Object identifier readers that are configured to automatically send and/or store data read from an object identifier |
-
2006
- 2006-01-24 CN CNB200610016557XA patent/CN100445976C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1078337A (zh) * | 1990-12-20 | 1993-11-10 | 国际商业机器公司 | 串行网络拓扑生成器 |
JPH10116242A (ja) * | 1996-10-11 | 1998-05-06 | Nec Corp | 周辺機器切り替え方式 |
US6557050B1 (en) * | 1999-09-02 | 2003-04-29 | International Business Machines Corporation | Display computer with on-screen identifiers for multiple serial ports for avoiding physical mislabelling of ports |
US20050210475A1 (en) * | 2004-03-22 | 2005-09-22 | Paul Hepworth | Object identifier readers that are configured to automatically send and/or store data read from an object identifier |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706764B (zh) * | 2009-11-26 | 2011-09-07 | 成都市华为赛门铁克科技有限公司 | 外围器件快速互联设备及与不同通信端匹配的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101008930A (zh) | 2007-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8924603B2 (en) | Protocol adapter for passing diagnostic messages between a host computer and vehicle networks operating in J1939 or J1708 protocol | |
US4688035A (en) | End user data stream syntax | |
US8706839B2 (en) | Virtual serial port and protocol for use in serial-over-LAN communication | |
CN1595381B (zh) | 桥控制器、桥和操作该桥的方法 | |
CA1246175A (en) | Method for passing a token in a local-area network | |
CN100511171C (zh) | 一种单板调试串口功能的测试方法及其系统 | |
CN100445976C (zh) | 一种自动识别与主控计算机通讯的设备的方法 | |
CN104052758A (zh) | 电能表多通信协议的自适应方法 | |
CN103685578B (zh) | 主从设备的数据传输方法 | |
CN101539765B (zh) | 一种工业过程数据高速采集的方法及系统 | |
CN202351855U (zh) | 对io扩展板的升级系统 | |
CN101267350B (zh) | 调试方法和调试系统 | |
CA2137157A1 (en) | Stealth interface for process control computers | |
US6252874B1 (en) | Ethernet card and ethernet card improvement methods | |
CN113422756B (zh) | 验证数据传输方法、速率转换装置以及验证数据传输系统 | |
JPH02100538A (ja) | ローカルエリアネットワークのデータ通信方法 | |
JPH10262083A (ja) | 通信ネットワークシステム、ならびに同システムにおけるプロトコルの変換方法、及び同方法がプログラムされ記録された記録媒体 | |
CN116932449B (zh) | 串口重定向到远端设备的实现方法、系统、设备及介质 | |
KR20070072039A (ko) | 금융자동화기기의 통신분석용 접속장치 | |
CN1086479C (zh) | 电脑系统输入辅助装置 | |
KR20070067306A (ko) | 아이피씨를 이용한 에프피지에이 프로그래밍 장치 및 그방법 | |
KR100812705B1 (ko) | 논리 연산 장치에서 호스트 데이터 링크 방법 | |
CN116302483A (zh) | 基于云平台的云负载均衡服务方法和系统 | |
KR100440199B1 (ko) | 라우터 시스템에서 관리에 필요한 상태 정보 제공방법 | |
KR200301078Y1 (ko) | 직렬 데이터 통신장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081224 Termination date: 20110124 |