Delphi

Delphi

Delphi 关于RS485总线通信协议开发注意事项

88 0

关于RS485总线通信协议开发注意事项1 前言近段时间发现我们系统在进行设备组态时,采用的串口复用方式在同一个RS485串口上挂载多个智能设备进行通信、监控。而往往在系统组态的时候就会发现部分设备通信不上,或者工程交付之后出现智能设备经常通信中断的情况。本文描述RS485总线协议的工作原理,从根本上剖析导致以上问题的根本原因。2 RS485总线硬件特点2.1 拓扑结构RS485总线一般采用1对1和1对多的组网方式,很少有多对多的场合,主要原因是RS485没有总线仲裁,多对

Delphi

Delphi MSComm控件串口收发程序

241 0

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! //Delphi+MSComm控件串口收发程序 //HotPower@126.com procedure TForm1.FormCreate(Sender: TObject); begin if MSComm1.PortOpen then MSComm1.PortOpen := false;//关闭端口 MSComm1.CommPort := 2;//设置端口2 MSComm1.InBufferSize := 256;//设置接收缓

Delphi

delphi XE LISTVIEW导出EXCEL

76 0

1、调用listtoexcel('abcd', jjd_list, 5);//第一个参数没什么用,随便写的。第二个参数就是LISTVIEW。第三个参数代表哪列是数值型。2、代码function listtoexcel(ttname: string; tt: TListView; num_num: integer): string;var h, k, i: integer; Excelid: OleVariant; Y, X: integer; Temsheet: OleVaria

Delphi

Delphi 串口查询所有COM口

75 0

//检测串口function ComPortAvailable(Port: Pchar): boolean;var DeviceName: Array[0..80] of char; ComFile: THandle;begin StrPCopy(DeviceName, Port); ComFile:= CreateFile(DeviceName, GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMA

Delphi

Delphi编程之关闭所有QQ进程

35 0

Delphi编程之关闭所有QQ进程具体的代码如下:program KillQQ;{$APPTYPE CONSOLE}{$R *.res}uses Windows, Messages;beginWinExec('cmd.exe /c taskkill /f /t /im QQ.exe',SW_HIDE); //终止QQ进程,这里的QQ.exe可以替换成其他要终止的进程end.

Delphi

delphi MSComm1自动获取串口

41 0

delphi 自动获取串口 如果PC端串口x存在且没有被占用,我们用TMScomm控件可以顺利打开并且关闭串口x,如果该端口x被占用或者不存在则会出现错误。利用这个原理,通过try强行打开串口x获取可用串口。具体代码如下:i:integer;combobox1.items.clear;for i := 1 to 32 do //一般PC端串口都小于32 begin try MSComm1.CommPort := i; if MSComm1.PortOpen = false

Delphi

delphi的串口通讯,数据接收实时性太差

96 0

问题:delphi的串口通讯,数据接收实时性太差 用的是SPComm控件作为串口通讯的插件,但是遇到一个问题:间隔50ms发送一次数据给上位机,但是ReceiveData()函数好像并不能把这些数据区分开来,而是把几次的数据当成一个整体了,导致数据解析出问题,请问如何解决?例子如下:1.间隔50ms或者<50ms发送,每次发送5个字节,发送4次2.ReceiveData()函数收到的是20个字节,不知道怎么解决3.数据发送间隔时间提高的时候,则可以把每次发送的数据个数成功解析 解答: 串口没有所

Delphi

Delphi TDSAuthenticationManager的用法

35 0

TDSAuthenticationManager的用法 xe开始有了TDSAuthenticationManager,这个主要用来做用户认证,用法也很简单服务器端1.TDSAuthenticationManager有两个主要的事件在这个事件里面,看看检测连上来的用户名,密码是否合法,valid如果置为false,这就为非法连接了,DSServer会立刻抛出异常后close连接。另外,UserRoles的设计,我觉得比RO高明。procedure TServerContainer1.DSAuthentic