用delphi实现远程控制的方法,请教(200分)

  • 主题发起人 主题发起人 Crazyz
  • 开始时间 开始时间
C

Crazyz

Unregistered / Unconfirmed
GUEST, unregistred user!
现在做这样一个程序实现远程控制,
1.一个小区有四个门,每个门一个起落杆,红绿灯等硬件设备,分别由四台电脑控制各个起落杆的起(放行)落(关闭),并且在能显示对应的起落杆的状态,红绿灯的状态。
2.做一个综控程序,能同时显示每个门起落杆的状态及控制。
希望大家给点意见,能提供思路或资料最好

我的几个想法
1.每台电脑定时检查硬件的状态并将得到的数据存入数据库,综控程序定时检查数据库,并显示数据对应的状态,控制通过发送网络广播消息来实现。

2.用TClientSocket和TServerSokcet,直接将每台电脑检测到的数据传实时传给综控程序,
综控程 序也能过这组控件对每台电脑进行控制
 
用多线程循环和硬件通讯。把实时数据传递
 
从硬件上你已经有了四台电脑,那么综控就只是一个逻辑概念上的程序,其上启动一个socket作为服务器,四台电脑分别启动一个SOCKET作为客户端,一旦某个客户端连接到服务器
就在服务器上自动启动一个SOCKET为其服务,这就形成了一对一的通讯,不必用到多线程,
消息触发就应该能满足你现在数据量的通讯要求,如果你想让每个客户端都可以知道另外三个门的状况,那你只需要转发到另三个客户端SOCKET就可以了,另外就是做几个起降图,做一个红绿灯的小控件,做四个门的标志,余下的编程就非常简单了.
或者纯粹就没有综控程序,每个客户端也是服务器,四台电脑,同样的四套程序这样开发容易,布置容易,维护也容易.
 
对呀,楼上的说的不错,但界面的直观和友好度就看你自己的了。
 
to wugwdelphi
多谢回答:

界面可以不考虑,四台电脑控制四个门的程序是好开发,但主要是还必须有一个综控程序,也能控制四个门,并显示状态,综控程序所在电脑是不会联硬件,只能通过读另外四台电脑的状态来显示各个门的状态,并且能对其控制,能不能说具体点
 
这个很简单啊,你通过SOCKET发个指令到相应的电脑不就得了嘛,这个指令你随便自己编,比如用字符closeEastDoor关闭东门,或者用数字1,2,3,4都可以,控制门的电脑收到这个指令做出相应动作,不会要源码吧,:)
 
四个终端向综控程序发送状态指令;综控程序需要开关门的时候发送开关控制指令,指令协议自己先定义好,终端程序收到综控程序的开关指令后,向工业设备发送相应指令.前提是你要知道工业设备的通讯协议.
 
用了一组IdUDPServer
 
后退
顶部