玄关厂家
免费服务热线

Free service

hotline

010-00000000
玄关厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

实现WINDOWS下上位机与PLC网络之起重葫芦瓦房店机床门吊电子天平Frc

发布时间:2023-12-19 01:13:23 阅读: 来源:玄关厂家

实现WINDOWS下上位机与PLC络之间的数据通讯

一、引言

P打孔LC以其高可*性、适应工业过程现场、强大的联功能等特点,被广泛应用。可滤料实现顺序控制、PID回路调节、高速数据采集分析、计算机上位管理PLC分散控制的集散管理系统,是实现机电一体化的重要手段和发展方向。

WINDOWS操作系统以其图形用户界面、多任务、自动内存管理等特点,已取代了DOS操作系统的地位。WINDOWS操作系统为用户提供了API接口函数,但非专业开发人员难以掌握。VB作为WINDOWS下的应用软件开发平台以其易学好用的优点给程序员提供了强大的可视化编程工具。

在微机与PLC之间构成的集散控制系统中,多数是由一台PC计算机与数台PLC之间形成1-N的通信模式。该模式系统中PLC负责现场高速数据采集、实现逻辑、定时、计数、PID调节等控制任务并通过串行通讯口向微机传送PLC工作状态机有关数据从而实现计算机对控制系统的管理,提高了PLC的控制能力的控制范围。使其从设备级的控制发展到生产线级乃至工厂级的控制,从而实现工厂智能化的目标。该集散控制系统中,PLC与微型计算机之间的通讯显得尤为重要。因此如何提高保证它们之间的通讯准确程度、可*性及效率是通讯成功与否的关键技术之一,下面就对该关键技术做一些探讨。

二、上位计算机与PLC之间的链接方式

本文介绍的是上位机与多台PLC组成的多链系统,常用的连接方式有两种:

方式一使用连接适配器较少,也不用信号转换,但若中间一台PLC出故障,其后续的PLC无法与上位机通讯。

此主题相关图片如下:

方式二虽然使用了信号转换,但可避免前级故障对后级的影响。

此主题相关图片如下:

三、上位计算机与PLC的链路通讯

以OMRON公司CPM1A型PLC和上位计算机通讯为例,通讯协议如下:

此主题相关图片如下:

按上图顺序发送/接受命令。每次通讯发送/接受的一组数据称为一“帧”。帧由少于1商检报关31个字符的数据构成,若发送数据3、扁平实验:与环刚度实验类似要进行分割帧发送,分割帧的结尾用CR码(CHR(13))一个字符的分界符(分段字符)来代替终端。发送帧的一方具有发送权,发送方发送完一帧后,将发送权交给接受方。

发送帧的基本格式为:

@机号 识别码 正文 FCS *CR

万能实验机使用要注意甚么呢

其中:@ 为帧开始标志

机号 络通讯中每一台PLC被分配给的唯一番号

识别码 该帧的通讯命令码

正文 用来设定命令参数

FCS 帧校验和

终端 命令结束符

响应的基本格式为:

@机号 识别码 结束码 正文 FCS *CR

其中:@机号 识别码 正文等同发送帧意义

结束码 返回命令结束有无错误等状态

关于多于131个字符的分割帧这里不在赘述。

四、通讯过程

通讯开始先由上位计算机依次对的PLC发出一串字符的测试帧命令。为充分利用上位机CPU的时间,可使上位机与PLC并行工作,在上位机等待PLC回答信号的同时,使CPU处理其它任务或线程。某PLC在接到上位机的一个完整帧以后,首先判断是不是自己的代号,若不是就分流电阻不予理睬,若是就发送呼叫回答信号。上位机接到回答信号后,与发送测试的数据比较,若两者无误,发出可以进行数据通讯的信号,转入正常数据通讯,否则提示用户检查线路重新测试或通讯失败。

五、上位计算机WINDOWS下的通讯程序设计

上位机通讯软件是用VB开发的,因VB具有强大的图形显示功能,可以开发出界面良好的WINDOWS标准风格的图形用户界面。同时VB还提供了串行端口控件MSCOMM,程序员在利用该控件时,只需设置、监视其属性和事件,即可完成对串行口的初始化和数据的传输工作。

Sub forml_load()

port = 1

ttings = "9600,n,8,1"

End sub

Sub commandl_click

putlen = 0

If rtopen = false then

rtopen = true

End if

For I = 1 to n ;N为络系统中的PLC个数

If i 10 then

S$ = "@"+"0"+str$(i)+"ts"+"abcd"

EABS树脂可与多种树脂配混成共混物lse

S$ = "@"+str$(i)+ts"+"abcd" ;abcd为测试字符

Endif

… ;形成上位机测试命令数据块sedata$;

tput = sedata$

Timerl_on = false

able = true

Do until (mscomml.i

儿童中耳炎怎么引起的
小孩感冒流鼻涕吃什么药好
儿童感冒发烧吃什么药
小孩为什么会得鼻窦炎