课程中心
HOME
课程中心
正文内容
plc编程有空隙 PLC画圆很难吗?其实,只要有方法,这都是浮云
发布时间 : 2025-05-01
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC画圆很难吗?其实,只要有方法,这都是浮云

用PLC怎么画圆?相信很多朋友都思考过这个问题,PLC200 smart并没有开发这个功能,需要自己写程序实现,本文和喜欢工控和开发的朋友们交流一下这个有趣的问题,笔者在调试成功的基础上附上视频和程序介绍一种画圆的方法,此方法通用性强,可以根据这个原理方法绘制其它不同的曲线。

以上图的抛物线y=x^2为例分析,我们知道一个方向上走匀速,一个方向上以恒定的加速度运动,轨迹就是抛物线。同样我们可以想到,X轴匀速运动,Y轴变速运动,运动轨迹就会走出曲线。匀速运动时用路程除以时间就可以得到速度,而变速度就需要从微分的角度来计算,即:

所以从原点开始,X方向上以2mm/s的速度匀速向右,Y方向上以Vy=4X的变速度向上运动就能得到上图抛物线。

有了前面的分析,我们可以试试分析这个以50mm为半径的圆形:X^2+Y^2=50^2

可以看到(-50,50)区间内每一个X对应两个Y值,两个Y值一正一负且绝对值相等,对应位置的导数值也是一正一负且绝对值相等,那么当X轴方向上以2mm/s的速度向右运动,要得到这个圆弧的轨迹,在任意一个X位置对应的Y的速度是:

这里都取了X方向的速度为2mm/s,是一个比较慢的速度,再根据Vy的公式(编写入中断程序进行运算),可以编写程序绘制圆形了,只需要注意在在绘制途中X方向和Y方向改变的位置要做一些处理,下面用程序与注释来说明整段程序的过程。(下图是程序建立坐标原点即参考点后实际走出来的轨迹)

首先画圆形需要的是一个两轴控制台(包括步进电机和画图的平台等),两个驱动器,一台200PLC,笔者视频里用的是一个三轴的平台,驱动器细分调至3200,写程序之前使用运动向导,设置两个轴,测量系统选择工程单位,方便我们计算,也更直观,细分3200,我的步进电机每转一圈前进5mm,如下图所示:

方向控制选项如下图,X轴选择单相2输出,因为画圆过程中X方向上有正有负;Y轴选择单相1输出,因为Y轴运动靠的是点动RUN控制,笔者在调试过程中发现使用单相2输出时,使用点动的Director或者Q0.7来控制方向会有时候不受控制,这是因为手动子程序里包含了方向控制导致程序冲突,所以这里Y轴使用单相1输出,调试结果很稳定。其余对电机速度,JOG选项进行一些常规设置即可。(笔者尝试了为实现Y轴变速运动,使用组态中的相对运动和绝对运动子程序,为其提供变速度且实时改变终点位置,结果是Y轴没有动作,因此用相对和绝对不能控制一个速度和位置的数值实时变化的运动,因此最后选择了点动来实现这个变速的功能)

然后开始写主程序:

这是笔者原创的程序,200smart并没有开发相应的功能,三菱plc有圆弧插补功能,笔者没有接触过三菱plc,通过查阅PLC圆弧插补的资料和原理,对两种方法进行了对比:圆弧插补功能的原理是将圆分解成N段折线来画,其误差在某范围内可控,而以上介绍的方法从纯数学的角度来讲是相当完美的,但是也有缺点,它的完美程度取决于中断运算的时间和X方向上的速度,如果运算时间设计较长,Y轴加速情况下会丢步较多,减速情况下会过冲较多,运算时间短对CPU要求较高,X方向速度过快会导致丢步较多,另外由于是浮点数运算,每一步本身就存在极少量丢步。

尽管有这么多理论上的缺陷,但是由于10ms运算间隙时间极短且X轴方向上走的较慢,实际走的圆非常的光滑接近完美的圆。

大家看完此文应该可以完成很多曲线的编程画自己想画的图形了,但是根据函数的复杂性和求导的难度使得编程有难易程度的区别.

博途PLCS1200参数设置,编程之前看到它可以事半功倍!收藏

通过参数分配可以设置所有组件的属性,这些参数将装载到 CPU中,并在 CPU启动时传送给相应的模块。选中机架上的CPU,下方的巡视窗口的 CPU属性中可以配置 CPU 的各种参数,CPU 的通信接口,本体的输入输出,启动特性,保护等设置。下面以 CPU 1215C为例介绍CPU的参数设置。

常规

单击属性视图中的“常规”选项,进行下列参数设置:

“项目信息”:可以编辑名称,作者及注释等信息。

“目录信息”:查看CPU 的订货号,组态的固件版本及特性描述。

“标识与维护”:用于标识设备的名称,位置等信息, 可以使用 “Get_IM_Data”指 令读取信息进行识别。

“校验和”:在编译过程中,系统将通过唯一的校验和来自动识别 PLC 程序。基于该校验和,可快速识别用户程序并判断两个 PLC 程序是否相同。通过指令“GetChecksum”可以读取校验和,如图 1 所示:

图1 标识与维护及校验和

PROFINET 接口

单击“PROFINET接口[X1]”,配置以下参数:

“常规”:标识PROFINET接口的名称,作者和注释

“以太网地址”:如图 2 所示。

图2 配置以太网地址

①“接口连接到”:可以从下拉菜单中选择本接口连接到的子网,也可以添加新的网络;

②“IP 协议”:默认为“在项目中设置IP 地址”,此时在项目组态中设置IP地址,子网掩码等。如果使用路由器,则激活“使用路由器”,并设置路由器地址。也可以选择“在设备中直接设定 IP 地址”,则可以在程序中使用指令“T_CONFIG”分配IP 地址;

③“PROFINET”:

激活“在设备中直接设定PROFINET 设备名称,则表示不在硬件组态中组态设备名称,而是在程序中使用指“T_CONFIG”设置设备名。

激活“自动生成PROFINET 设备名称”,TIA 博途根据接口名称自动生成PROFINET设备名称。

“转换的名称”,是指此PROFINET 设备名称转换为符合 DNS 惯例的名称,用户不能修改。

“设备编号”,是指 PROFINET IO 设备的编号。在发生故障时可以通过编程读取该编号。对于IO 控制器默认为0, 无法修改。

“时间同步”:

可以激活“通过NTP 服务器启动同步时间”。NTP(Network Time Protocol) 即网络时间协议,可用于同步网络中系统时钟的一种通用机制。可以实现跨子网的时间同步,精度则取决于所使用的NTP 服务器和网络路径等特性。在NTP 时间同步模式下,CPU 的接口按设定的“更新间隔”时间(单位为秒)从 NTP 服务器定时获取时钟同步,时间间隔的取值范围在10秒到一天之间, 这里最多可以添加4个NTP服务器。

“CPU与该设备中的模块进行数据同步”:是指同步 CM/CP 的时间和CPU 的时间。

注意:建议在CM/CP和CPU中,只对一个模块进行时间同步,以便使站内的时间保持一致。

“操作模式”:

可以设置“IO 控制器”或是 “IO设备”。如果该 CPU 作为智能设备,则激活“IO设备”,并在“已分配的 IO 控制器中”, 选择该IO 设备的IO 控制器(如果 IO 控制器不在同一项目中,则选择“未分配”)。并根据需要选择是否激活“PN 接口的参数由上位 IO 控制器进行分配”和“优先启用”等参数,以及设置智能设备的通信传输区等。

高级选项:可以对“接口选项”,“介质冗余”,“实时设定”和“端口”进行设置。

“Web 服务器访问”:

激活“启用使用该接口访问 Web 服务器”,则可以通过该接口访问集成在 CPU 内部的 Web 服务器。

“硬件标识符”:接口的诊断地址

数字量输入输出

“常规”:单击数字量输入/输出的“常规”选项可以输入项目信息:

“名称”:定义更改组件的名称 “注释”:说明模块或设备的用途

“数字量输入”:以通道0 的组态为例进行说明,如图 3 所示。

图3 配置数字量输入通道

①“通道地址”:输入通道的地址,首地址在“I/O地址”项中设置;

②“输入滤波器”:为了抑制寄生干扰,可以设置一个延迟时间,即在这个时间之内的干扰信号都可以得到有效抑制,被系统自动滤除掉,默认的输入滤波时间为6.4 ms;

③“启用上升沿或下降沿检测”:可为每个数字量输入启用上升沿和下降沿检测,在检测到上升沿或下降沿时触发过程事件。

“事件名称”:定义该事件名称 “硬件中断”:当该事件到来时,系统会自动调用所组态的硬件中断组织块一次。如果没有已定义好的硬件中断组织块,可以点击后面的省略按钮并新增硬件中断组织块连接该事件。

④“启用脉冲捕捉”:根据 CPU 的不同,可激活各个输入的脉冲捕捉。激活脉冲捕捉后,即使脉冲沿比程序扫描循环时间短,也能将其检测出来。

“数字量输出”:设置如图 4 所示:

图4 配置数字量输出通道

①“对CPU STOP 模式的响应”:设置数字量输出对CPU 从运行状态切换到 STOP 状态的响应,可以设置为保留最后的有效值或者使用替代值;

②“通道地址”:输出通道的地址,首地址在“I/O地址”项中设置;

③“从RUN 模式切换到 STOP 模式时,替代值1”:如果在数字量输出设置中,选择“使用替代值”,则此处可以勾选,表示从运行切换到停止状态后,输出使用“替代值1”,如果不勾选表示输出使用“替代值0”。如果选择了“保持上一个值”则此处为灰色不能勾选。

“I/O 地址”:数字量地址设置如图 5 所示。

图5 数字量输入输出地址设置

“输入地址”:

①“起始地址”:模块输入的起始地址;

②“结束地址”:系统根据起始地址和模块的IO数量自动计算并生成结束地址;

③“组织块”:可将过程映像区关联到一个组织块,当启用该组织块时,系统将自动更新所分配的过程映像分区;

④“过程映像”:选择过程映像分区。

“自动更新”:在每个程序循环内自动更新I/O过程映像(默认)。 “无”:无过程映像,只能通过立即指令对此I/O进行读写。 “PIP x”:可以关联到③中所选的组织块。同一个映像分区只能关联一个组织块,一个组织块只能更新一个映像分区。系统在执行分配的OB时更新此PIP。如果未分配OB,则不更新PIP。 “PIP OB伺服”:为了对控制进行优化,将运动控制使用的所有I/O模块(如,工艺模块,硬限位开关)均指定给过程映像分区“OB 伺服 PIP”。这样I/O模块即可与工艺对象同时处理。

• "输出地址":设置与输入类似。

注意: 所有输入输出的地址都在过程映像区之内,如果没有选择组织块和分区,默认情况下过程映像区是自动更新。

"硬件标识符":用于寻址硬件对象,常用于诊断,也可以在系统常量中查询。

模拟量

“常规”:单击模拟量输入/输出的“常规”选项可以输入项目信息:

“名称”:定义更改组件的名称 “注释”:说明模块或设备的用途

“模拟量输入”:组态如图 6 所示。

图6 模拟量输入组态

①“积分时间”:通过设置积分时间可以抑制指定频率的干扰;

②“通道地址”:首地址在模拟量的“I/O地址”中设置;

③“测量类型”:本体上的模拟量输入只能测量电压信号,所以选项为灰,不可设置;

④“电压范围”:测量的电压信号范围为固定的0~10V;

⑤“滤波”:模拟值滤波可用于减缓测量值变化,提供稳定的模拟信号。模块通过设置滤波等级(无、弱、中、强)计算模拟量平均值来实现平滑化。

⑥“启用溢出诊断”:如果激活“启用溢出诊断”,则发生溢出时会生成诊断事件。

"模拟量输出":组态如图 7 所示。

图7 模拟量输出组态

①“对CPU STOP 模式的响应”:设置模拟量输出对CPU 从RUN模式切换到 STOP 模式的响应,可以设置为保留最后的有效值或者使用替代值;

②“通道地址”:模拟量输出首地址在模拟量的“I/O地址”中设置;

③“模拟量输出的类型”:本体上的模拟量输出只支持电流信号,所以选项为灰,不可设置;

④“电流范围”:输出的电流信号范围为固定的0~20mA;

⑤“从RUN 模式切换到 STOP 模式时,通道的替代值”:如果在模拟量输出设置中,选择“使用替代值”,则此处可以设置替代的输出值,设置值的范围为0.0~20.0mA,表示从运行切换到停止状态后,输出使用设置的替代值。如果选择了“保持上一个值”则此处为灰色不能设置;

⑥“启用溢出(上溢)/下溢诊断”:激活溢出诊断,则发生溢出时会生成诊断事件。集成模拟量都是激活的,而扩展模块上的则可以选择是否激活。

"I/O 地址":模拟量I/O地址设置与数字量I/O地址设置相似。

高速计数器

如果要使用高速计数器,则在此处设置中激活"启用该高速计数器"以及设置计数类型,工作模式,输入通道等。详细介绍请参见高速计数器应用实例

脉冲发生器

如果要使用高速脉冲输出 PTO/PWM功能,则在此处激活"启用该脉冲发生器",并设置脉冲参数等。详细介绍请参见运动控制功能基本组态

"启动": 设置如图 8 所示。

图8 CPU启动选项设置

详细介绍请参见S7-1200启动模式

"循环"的设置如图 9 所示。

图9 CPU循环时间设置

①“循环周期监视时间”:设置程序最大的循环周期时间,范围为1~6000 ms,默认值为150 ms。超过这个设置时间,CPU会报故障。超过2倍的最大循环周期检测时间,无论是否编程时间错误中断OB80, CPU都会停机。在编程了时间错误中断OB80后,当发生循环超时时CPU将响应触发执行OB80的用户程序,程序中可使用指令“RE_TRIGR” 来重新触发 CPU 的循环时间监控,最长可延长到已组态“循环周期监视时间”的10倍;

②“最小循环时间”:如果激活了“启用循环OB的最小循环时间”,当实际程序循环时间小于这个时间,操作系统会延时新循环的启动,直到达到了最小循环时间。在此等待时间内,将处理新的事件和操作系统服务。

通信负载

"通信负载"用于设置CPU 总处理能力中可用于通信过程的百分比,如图 10 所示。 这部分 CPU 处理能力将始终用于通信,当通信不需要这部分处理能力时,它可用于程序执行。可设置的范围为15~50%,默认值为20%。占用"通信负载"的通信包括:博途软件监控,HMI连接及PLC间的S7 通信。

图10 CPU通信负载设置

注意: 如果"由通信引起的循环负荷设置百分比过大,则会延长CPU扫描时间,所以要慎重增加该通信负载百分比。

系统和时钟存储器

“系统和时钟存储器”页面可以设置M存储器的字节给系统和时钟存储器,然后程序逻辑可以引用他们的各个位用于逻辑编程。

“时钟存储器位”:组态的时钟存储器的每一个位都是不同频率的时钟方波。

详细介绍请参见系统和时钟存储器

Web服务器

如果要使用Web 服务器,在此界面激活"在此设备上的所有模块上激活Web服务器"。详细介绍请参见Web 服务器快速入门

支持多语言

用于在 Web 服务器或HMI上显示消息和诊断的文本语言,S7-1200 PLC最多支持2种语言,在下拉列表中选择所使用的语言,如图 11 所示。选择的语言是在项目树的"语言与资源 > 项目语言" 中启用。

图11 支持多语言设置

时间

为CPU设置时区,如图 12 所示。

图12 时间设置

①“本地时间”:为CPU设置本地时间的“时区”,一般中国选择东8区。

②“夏令时”:如果需要使用夏令时,则可以选择“激活夏令时”,并进行相关设置,中国目前不支持夏令时。

保护

"保护":此界面可以设置该PLC的访问等级,共可设置4个访问等级,设置”连接机制”,通过 PUT/GET 通信的数据访问,设置 “安全事件”和“外部装载存储器“。如图 13 所示。

图13 保护设置

详细介绍请参见 S7-1200 CPU 保护

组态控制

组态控制可用于组态控制系统的结构,将一系列相似设备单元或设备所需的所有模块都在具有最大组态的主项目(全站组态方式)中进行组态,操作员可通过人机界面等方式根据现场特定的控制系统轻松选择某种站组态方式。他们无需修改项目,因此也无需下载修改后的组态。节约了重新开发的很多工作量。

要想使用组态控制,首先要激活“允许通过用户程序重新组态设备”(如图 14 所示),然后创建规定格式的数据块,通过指令WRREC将数据记录196的值写入到CPU中,然后通过写数据记录来实现组态控制。

图14 组态控制配置

详细介绍请参见组态控制功能组态步骤

连接资源

"连接资源"页面显示了CPU 连接中的预留资源与动态资源概览。

"地址总览"可以以表格形式显示已经配置使用的所有输入和输出地址,通过选中不同的复选框,可以设置要在地址总览中显示的对象:输入,输出,地址间隙,插槽。地址总览表格中可以显示地址类型,起始地址,结束地址,字节大小,模块信息,机架,插槽,设备名称,设备编号,归属总线系统(PN,DP),过程映像分区,组织块等信息,如图 15 所示。

图15 地址总览

你学会了吗?

喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!

相关问答

自动送料机尺寸不准什么原因?

一、冲床自动送料机如果出现送料长度误差或者送料方向偏差导致冲压件不准,首先应查看送料机滚轮或齿轮等位置是否有金属或其它异物进入导致,送料启动放松及冲...

plc中db11什么意思?

PLC中DB是数据块。数据块是一组按顺序连续排列在一起的几组记录,是主存储器与输入、输出设备或外存储器之间进行传输的一个数据单位。是数据的物理记录,与数...

数控调试是做什么啊?

言归正传吧。PLC调试工作,我认为是相当不错的一个工作,它需要不断地去学习的一个过程,在调试的过程中会遇到各种问题,都需要自己去探索,去分析。去动脑子。...PL...

如何解决旋转编码器、光栅尺与PLC控制器之间转换接口?

应用PLC高速计数器时往往会碰到,计数器与输入计数脉冲信号的脉冲电平不匹配、旋转编码器、光栅尺数据输出是TTL电平,而PLC高速计数器却要求接受的是0-24v传...

三菱plc模块接线盖子怎么拆?

三菱PLC模块接线盖子一般分为两种类型:推拉式和拧式。推拉式的接线盖子可以通过从一个方向推动或拉开接线盖子来拆下来。而拧式的接线盖子多数需要使用螺丝刀...

问一下:工业线路板维修需要注意什么?有懂行的吗?

[回答]工业线路板维修数控车床具有自动报警、自动检测和自动补偿等多种功能,可以实施一人多机看管,甚至可以实现长时间无人看管加工。降低了企业的人力资...

数控车床加工中心使用后产生的精度误差的原因有哪些?

生产中经常会遇到数控机床加工精度异常的故障。此类故障隐蔽性强、诊断难度大。导致此类故障的原因主要有以下方面:1)机床进给单位被改动或变化2)机床各轴的...

数控机床机械故障的常规处理步骤有哪些?

如有异常,进行相应处理。检查机械零件:检查数控机床的机械零件,如轴承、齿轮、丝杠等,确保其正常运行。如有异常,进行相应处理。调整机械间隙:对于需要调...

工业线路板维修需要注意什么?拜托了帮个忙

[回答]工业线路板维修数控车床机械故障就是指机械系统已偏离了其设备的状态,从而丧失了部分或者全部的功能。造成机床机械产生故障的原因有很多,例如:零件...

cnc伺服刀库故障怎么解决?

通过CRT观察I/O状态,分析机床PLC梯形图(或流程图),以确定进给轴的启动条件,如润滑、冷却等是否满足。(3)对带电磁制动的伺服电机,应检查电磁制动是否释放。...

 设备清洗  草地鹨 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部