用delphi6.0实现与plc的串口通讯(100分)

  • 主题发起人 主题发起人 lb121599
  • 开始时间 开始时间
L

lb121599

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做毕设,对plc(omron cpm2*系列)的硬件编程已经完成,导师检查通过。
可又提出一个新的问题:用delphi编程实现对plc程序中计数器和计时器参数
的修改。这应该属于串口通讯问题,好像可以用spcomm来做。可我的delphi中
没有此控件,添加项中也没有。请大侠们具体指点,我偏重硬件编程,对delphi
很不熟。
 
spcomm 需要安装,网上找找
 
那推荐你用mscomm,如果要用spcomm就去down一个
 
http://download.lycos.com.cn/soft_con_internet/spcomm.html
 
看看以前的帖子,SPCOMM不错的,比较简单。
 
能否说具体点。
我所安装的delphi中没有mscomm控件,应进行怎样的设置?
编程时应注意哪些问题?
谢谢。
 
如果DELPHI不熟就用SPCOMM吧,它会比较简单直观。
一定要MSCOMM也可以,在DELPHI里的COMPONENT的IMPORT ACTIVEX CONTROL里面有MSCOMM的东西,
你自己找到将它IMPORT进来即可。
 
好了。
我一做完了初期工作,将mscomm空间顺利倒入。
我要通过他修改plc原程序中计时器和计数器的参数,我该怎样做?
敬请指导。
谢。
 
首先属性InputMode设置成comInputModebinary.然后
一、接收时:
下面的代码是接收串口信息的例子。要注意的是MSCOMM的文字属性为二进制。
procedure TForm1.MSComm1Comm(Sender: TObject);
var
Mbuffer:variant;
arr: array of byte;
K_sum:integer;
OutputString:string;
ArrayLength:integer;
begin
arr:=nil;
if mscomm1.CommEvent =2 then begin
mbuffer:=mscomm1.Input
arr:=mbuffer;
if arr=nil then exit;
.
.
.
end;
.
.
.
end;

二、发送时,如下:
mscomm1.output := '您的字符串';

三、注意:
mscomm1.RThreshold
mscomm1.SThreshold

以上两属性至少设为>=1。
四、结束:
GOOD LUCKY!

 
如果使用SPCOMM来实现上述问题应该怎样做,有没有哪位老兄可以提供一点原代码?
 
我有阿,用的PLC是三菱的
 
应用US232组件,很好用。
 
RANNKY老兄能否给一点你用的原代码啊!我在此先谢过了。
 
需注意协议的校验。
 
后退
顶部