15221406036
6GK7343-1GX31-0XE0参数详细
报价: 面议
最小起订: 1
有效期至: 长期有效
发布时间: 2023-06-21 01:16
发布IP: 116.224.103.5
浏览次数: 40
手机号: 15221406036
电话: 15221406036
在线咨询: 点击这里给我发消息
15221406036
详细信息

6GK7343-1GX31-0XE0参数详细

Delphi是一种具有功能强大、简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选择 Delphi作为开发工具编制各种应用程序。但是,美中不足之处是 Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这就给编制通信程序的开发人员带来许多不便。
目前,利用 Delphi实现串口通信的常用的方法有 3种:一是利用控件,如 MSCOMM控件和 SPCOMM控件;二是使用 API函数;三是调用其他串口通信程序。其中利用 API编写串口通信程序较为复杂,需要掌握大量的通信知识。相比较而言,利用 SPCOMM控件则相对较简单,并且该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,而且还支持多线程。下面本文结合实例详细介绍 SPCOMM控件的使用。
SPCOMM的安装
1.选择下拉菜单 Component中的 Install Component选项,弹出如图 1所示的窗口。


在 Unit file name处填写 SPCOMM控件所在的路径,其他各项可用默认值,点击 OK按钮。
2.安装后,在 System控件面板中将出现一个红色控件 COM。现在就可以像 Delphi自带控件一样使用 COM控件了。
SPCOMM的属性、方法和事件
1.属性
●CommName:表示 COM1、 COM2等串口的名字;
●BaudRate:根据实际需要设定的波特率,在串口打开后也可更改此值,实际波特率随之更改;
●ParityCheck:表示是否需要奇偶校验;
●ByteSize:根据实际情况设定的字节长度;
●Parity:奇偶校验位;
●StopBits:停止位;
●SendDataEmpty:这是一个布尔型属性,为 true时表示发送缓存为空,或者发送队列里没有信息;为 false时表示发送缓存不为空,或者发送队列里有信息。
2.方法
●Startcomm方法用于打开串口,当打开失败时通常会报错。错误主要有 7种:⑴串口已经打开;⑵打开串口错误;⑶文件句柄不是通信句柄;⑷不能够安装通信缓存;⑸不能产生事件;⑹不能产生读进程;⑺不能产生写进程;
●StopComm方法用于关闭串口,没有返回值;
●WriteCommData(pDataToWrite: PChar;dwSizeofDataToWrite:Word )方法是个带有布尔型返回值的函数,用于将一个字符串发送到写进程,发送成功返回 true,发送失败返回 false。执行此函数将立即得到返回值,发送操作随后执行。该函数有两个参数,其中 pDataToWrite是要发送的字符串, dwSizeofDataToWrite是发送字符串的长度。
3.事件
●OnReceivedata:procedure (Sender: Tbbbbbb;Buffer: Pointer;BufferLength: Word) of bbbbbb
当有数据输入缓存时将触发该事件,在这里可以对从串口收到的数据进行处理。 Buffer中是收到的数据, BufferLength是收到的数据长度。
●onReceiveError : procedure(Sender: Tbbbbbb; EventMask : DWORD)
当接收数据出现错误时将触发该事件。
SPCOMM的使用
下面是一个利用 SPCOMM控件的串口通信的例子。
以实现 PC机与单片机 8051之间的通信为例,首先要调通它们之间的握手信号。假定它们之间的通信协议是: PC到 8051一帧数据 6个字节, 8051到 PC一帧数据也为 6个字节。当 PC发出( F0,01,FF,FF,01,F0)后 8051能收到一帧( F0,01,FF,FF,01,F0),表示数据通信握手成功,两者之间就可以按照协议相互传输数据。
创建一个新的工程 COMM.DPR,把窗体的 NAME属性定为 FCOMM,把窗体的标题定义为测试通信,按照图 2添加控件 (图 2中黑色矩形围住的控件即为 COMM1)。


1.设定 COMM1属性:
●波特率: 4800;
●奇偶校验位:无;
●字节长度: 8;
●停止位: 1;
●串口: COM1。
Memo1中将显示发送和接收的数据。将新的窗体存储为 Comm.pas。
2.编写源代码
//变量说明
var
fcomm: TFCOMM;
viewbbbbbb:bbbbbb;
i:integer;
rbuf,sbuf:array[16] of byte;
//打开串口
procedure TFCOMM.bbbbShow(Sender: Tbbbbbb);
begin
comm1.StartComm;
end;
//关闭串口
procedure TFCOMM.bbbbClose(Sender: Tbbbbbb; var bbbbbb: TClosebbbbbb);
begin
comm1.StopComm;
end;
//自定义发送数据过程
procedure senddata;
var
i:integer;
commflg:boolean;
begin
viewbbbbbb:=‘’ ;
commflg:=true;
for i:=1 to 6 do
begin
if not fcomm.comm1.writecommdata(@sbuf[i],1) then
begin
commflg:=false;
break;
end;
//发送时字节间的延时
sleep(2);
viewbbbbbb:=viewbbbbbb+ inttohex(sbuf[i],2)+‘’ ; end;
viewbbbbbb:=‘发送’+ viewbbbbbb;
fcomm.memo1.lines.add(viewbbbbbb);
fcomm.memo1.lines.add(‘’ );
if not commflg then messagedlg(‘发送失败 !’ ,mterror,[mbyes],0);
end;
//发送按钮的点击事件
procedure TFCOMM.Btn_sendClick(Sender: Tbbbbbb);
begin
sbuf[1]:=byte($ f0); //帧头
sbuf[2]:=byte($ 01); //命令号
sbuf[3]:=byte($ ff);
sbuf[4]:=byte($ ff);
sbuf[5]:=byte($ 01);
sbuf[6]:=byte($ f0); //帧尾
senddata;//调用发送函数
end;
//接收过程
procedure TFCOMM.Comm1ReceiveData(Sender: Tbbbbbb; Buffer: Pointer;BufferLength: Word);
var
i:integer;
begin
viewbbbbbb:=‘’ ;
move(buffer^,pchar(@rbuf^),bufferlength);
for i:=1 to bufferlength do
viewbbbbbb:=viewbbbbbb+ inttohex(rbuf[i],2)+‘’ ;
viewbbbbbb:=‘接收’+ viewbbbbbb;
memo1.lines.add(viewbbbbbb);
memo1.lines.add(‘’ );
end;
如果 memo1上显示发送 F0 01 FF FF 01 F0和接收到 F0 01 FF FF 01 F0,这表示串口已正确地发送出数据并正确地接收到数据,则串口通信成功。

 近年来,随着社会的发展,portant; text-decoration-line: none !important;">plc可编程序控制器在工业生产中得到了广泛的使用,但是其维护检修方法和技巧,很多工程师都不得法,下面为您介绍PLC使用过程的经验和技巧。
  1、PLC输入与输出
  一只小小的PLC灵活地控制着一个复杂系统,所能看到的是上下两排错开的输入输出继电 器接线端子、对应的指示灯及PLC编号,就像一块有数十只脚的portant; text-decoration-line: none !important;">集成电路。任何一个人如果 不看原理图来检修故障设备,会束手无策,查找故障的速度会特别慢。鉴于这种情况,我们 根据portant; text-decoration-line: none !important;">电气原理图绘制一张表格,贴在设备的控制台或控制柜上,标明每个PLC输入输出端子 编号与之相对应的电器符号,中文名称,即类似集成电路各管脚的功能说明。有了这张输入 输出表格,对于了解操作过程或熟悉本设备梯形图的portant; text-decoration-line: none !important;">电工就可以展开检修了。但对于那些对 操作过程不熟悉,不会看梯形图的电工来说,就需要再绘制一张表格:PLC输入输出逻辑功 能表。该表实际说明了大部分操作过程中输入回路(触发元件、关联元件)和输出回路(执 行元件)的逻辑对应关系。实践证明如果你能熟练利用输入输出对应表及输入输出逻辑功能 表,检修电气故障,不带图纸,也能轻松自如。
  2、输入回路检修
  判断某只按扭、限位、线路等输入回路的好坏,可在PLC通电情况下(好在非运行状态 ,以防设备误动作),按下按扭(或其他输入接点),这时对应的PLC输入点端子与公共端 被短接,按扭所对应的PLC输入指示灯亮,说明此按扭及线路正常。灯不亮,可能按扭坏、 线路接触不良或者断线。若进一步判断,按扭如果是好的,那么用portant; text-decoration-line: none !important;">万用表的一根表笔,一头 接PLC输入端的公共端,另一头接触所对应的PLC输入点(上述操作要小心,千万不要碰到22 0V或110V输入端子上)。此时指示灯亮,说明线路存在故障。指示灯不亮,说明此PLC输入 点已损坏(此情况少见,一般强电入侵所致)。
  3、输出回路检修
  对于PLC输出点(这里仅谈portant; text-decoration-line: none !important;">继电器输出型),若动作对象所对应的指示灯不亮,在确定PL C在运行状态下,那么说明此动作对象的PLC输入输出逻辑功能没有满足,也就是说输入回路 出故障,按前面讲的,检查输入回路。若所对应的指示灯亮,但所对应的执行元件如电磁阀 、portant; text-decoration-line: none !important;">接触器不动作,先查电磁阀控制portant; text-decoration-line: none !important;">电源及保险器,简便的方法,用电笔去量所对应PLC输 出点的公共端子。电笔不亮,可能对应保险丝熔断等电源故障。电笔亮,说明电源是好的, 所对应的电磁阀、接触器、线路出故障。排除电磁阀、接触器、线路等故障后,仍不正常, 就利用万用表一只表笔,一头接对应的输出公共端子,另一头接触所对应的PLC输出点,这 时电磁阀等仍不动作,说明输出线路出故障。如果这时电磁阀动作,那么问题在PLC输出点 上。由于电笔有时会虚报,可用另一种方法分析,用万用表电压档量PLC输出点与公共端的 电压,电压为零或接近零,说明PLC输出点正常,故障点在外围。若电压较高,说明此触点 接触电阻太大,已损坏。另外,当指示灯不亮,但对应的电磁阀、接触器等动作,这可能此 输出点因过载或短路烧牢。这时应把此输出点的外接线拆下来,再用万用表电阻档去量输出 点与公共端的电阻,若电阻较小,说明此触点已坏,若电阻无穷大,说明此触点是好的,应 是所对应的输出指示灯已坏。
  4、程序逻辑推断
  现在工业上经常使用的PLC种类繁多,对于低端的PLC而言,梯形图指令大同小异,对于 中高端机,如S7-300,许多程序是用语言表编的。实用的梯形图必须有中文符号注解,否则 阅读很困难,看梯形图前如能大概了解设备工艺或操作过程 ,看起来比较容易。若进行电 气故障分析,一般是应用反查法或称反推法,即根据输入输出对应表,从故障点找到对应PL C的输出继电器,开始反查满足其动作的逻辑关系。经验表明,查到一处问题,故障基本可 以排除,因为设备同时发生两起及两起以上的故障点是不多的。
  5、PLC自身故障判断
  一般来说,PLC是极其可靠的设备,出故障率很低,但由于外部原因,也可导致PLC损坏 。
  5.1 一只工作电源为220V的接近开关,其输入PLC信号触点两根引线与接近开关的220V的电 源线共用一根4 芯电缆,一次该接近开关损坏,电工更换时,错把电源的零线与输入的PLC 的公共线调错,导致送电时烧坏了3路PLC输入点。
  5.2 一次系统电源变压器零线排因腐蚀而中断,导致接入PLC220V电源升到380V,烧坏了PL C底部的电源模块,后整改时增加了380/220V的隔离控制变压器。
  5.3 西门子S7-200的PLC输出公共端标1L、2L等,工作portant; text-decoration-line: none !important;">电脑为AC L1 N 表示,+24V 电源为L+M 表示对初学者或经验不足者容易搞错。如果错把L+M当作220V电源端子,送电瞬间即将烧坏 PLC24V电源。
  PLC、CPU等硬件损坏或软件运行出错的概率几乎为零,PLC输入点如不是强电入侵所致,几乎也不会损坏,PLC输出继电器的常开点,若不是外围负载短路 或设计不合理,负载电流超出额定范围,触点的寿命也很长。因此,我们查找电气故障点,重点要放在PLC的外围电气元件上,不要总是怀疑PLC硬件或程序有问题,这对快速维修好故 障设备、快速恢复生产是十分重要的,因此PLC控制回路的电气故障检修,重点 不在PLC本身,而是PLC所控制回路中的外围电气元件。

相关产品
相关6gk7343产品
产品分类
最新发布
企业新闻
站内搜索
 
联系方式
  • 地址:上海市松江区广富林路4855弄88号3楼
  • 电话:15221406036
  • 手机:15221406036
  • 联系人:聂航