组态软件如何实现对各种PLC.数字仪表.通信模块的数据采集与控制?(100分)

  • 主题发起人 主题发起人 kelvin-lee
  • 开始时间 开始时间
K

kelvin-lee

Unregistered / Unconfirmed
GUEST, unregistred user!
组态软件(如组态王)支持各种PLC.数字仪表.通信模块设备,可以实现与它们的通信,请问
这是如何实现的。是不是由厂家提供驱动程序,组态软件通过驱动程序的接口与设备通信?还是
组态软件通过串并口直接向设备发送命令?有这方面工作经验的大虾,帮帮我吧!!!
 
难道大富翁上没有搞这方面的大侠吗?
 
没有人了解这方面的知识吗?
给个思路也行啊。
还有一个问题要向大家请教:
组态软件程序分为设计程序和运行程序。在设计程序中画图,配置变量等。
我想,在设计程序中,点击一个按钮后,显示一个带memo的对话框,用户可以在memo中输入 ShowWindow('窗口n'),
则运行程序中,按下按钮,显示窗口n。
以上功能如何实现。
 
有人知道吗?
 
楼主能不能说一下什么是:
组态软件程序

见笑了!
 
组态软件(Configuration Software)指一类关于数据采集与过程控制的专用软件,
它是自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式提供
良好的用户开发界面和简捷的使用方法,从而为用户提供了快速构建工业控制系统监控
功能的软件工具。
组态软件是使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、
通用层次的软件工具。它将硬件系统上的工程化特点引入到软件设计中来,从而使软件
的设计也呈现出工程化的特点,即软件功能模块化、标准化和通用化。组态软件把过程
控制系统中的每一个受控元素及其控制算法都作为一个编程对象,并根据其功能和特性
将它们分为不同的类别,然后为它们提供相应的组态功能模块。它可以用于一大类应用
对象,系统的执行代码部分一般是固定不变的,为了适应不同的应用对象,只需要改变
数据实体(控制回路文件、图形文件等),这样既提高了系统的开发速度,又保证了系统
软件的成熟性和可靠性,使用非常方便、灵活,而且也便于修改、维护和扩展。
 
一般是由组态软件厂提供驱动程序。www.gongkong.com你可以去看看,那里是工控的专业网站
 
我也用过组态王,当时我用的moeller的板卡,组态王不支持,于是他们就自己做了个驱动。
作为组态王与板卡本身的驱动程序的通信代理。
 
To emonster:工控网,也去问过,没有回答。
To Door2000:能把你写的moeller的板卡驱动程序原代码,发给我看看吗?小弟将不胜感激。
 
我有这方面的源程序。
组态王提供一个驱动程序开发接口。好象是要钱的。
提供了以COM方式访问组态王内部数据的接口。
VC编程即可。
 
labview和measurement studio是最好的。
 
kelvin-lee, 我没说那个驱动是我写的啊,我可没那个水平。是亚控开发人员写的。
 
linkman:能把源代码发给我看看吗?emoon533@163.net
 
可以呀,等我明天到公司给你拿来
 
to linkman,
资料已收到。请问RTU中的数据上网,你们是如何实现的?
 
感谢大家的帮助,问题已经解决,现总结如下:
  工控中多种通信方式――串行通信方式、TCP/IP网络通信方式、板卡方式、适配器方式、
DDE方式和OPC方式。
  串行通信方式,是PLC等设备和计算机通信时使用最多的通信方式。用这种方式可以通过串
行通信电缆把设备和计算机的串口相连。串行通信方式使用的标准通信协议是RS-232协议,
根据具体设备的不同,也可以使用各种转换适配器把RS-232方式转换为RS-422、RS-485方式。
另外,使用RS-232互连的计算机串口和设备通信口还可以用Modem通过电话线通信。
  板卡类的设备一般直接插在计算机的扩展槽上,通过硬件开发商提供的驱动程序或直接端口操作与设备通信。这种通信方式一般为同步通信方式,实时性好,通信可靠。
  网络节点方式的数据交换大多采用TCP/IP网络通信协议,通过网络连接传递数据。
  适配器方式是利用某些厂家提供的安装在计算机中的一个特殊的人机接口卡来完成与设备进行通信的方式。设备与计算机的通信首先是通过这个接口卡与设备交换数据,然后由计算机直接在这个接口卡上采集或设置数据。这种方式一般用来连接计算机和PLC或PLC网络,其连接电缆多是厂家提供的专用电缆。
  DDE方式和OPC方式通过Windows标准协议进行进程间通信,拥有极大的灵活性。
  组态软件通过I/O驱动系统从现场I/O设备获得实时数据,对数据进行必要的加工后,
一方面以图形方式直观地显示在计算机屏幕上,另一方面按照要求和操作人员的指令将控制
数据送给I/O设备。
设备驱动子系统主要是按照接口协议的规定向设备发送数据请求命令,对返回收据进行
拆包,从中分离出所需数据。多数设备的通讯接口协议都有若干种读写命令,分别用来读写
设备上不同类别的数据,而每一条命令又可以读写同类别的多个数据,具体能读写几个是
由接口协议规定的。设备驱动子系统首先要将组态的测点变量按照接口协议的要求按照类别
分好,把通过一次读写操作能够处理的测点变量存放在一起,称作一个数据包。
数据包分为采集数据包和写入数据包,采集数据包只进行数据(寄存器内容)读取,
写入数据包通过修改寄存器内容而进行某种操作。因为采集哪些数据是已知的,所以程序
启动时初始化好所有的采集数据包的读取命令,由任务调度程序统一调度。运行过程中,
读取命令不再改变。写入数据包是根据用户的操作(如按下开关)动态生成的。

 
拖了这么长时间,问题没有最终解决,暂时结束吧
 
最终通过组态软件向串并口直接向设备发送命令!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
回复
0
查看
769
老衲
后退
顶部