线下实训
HOME
线下实训
正文内容
迅捷plc 编程软件 0724 「万泉河」烟台方法前进之路:在信捷PLC中实现FB功能
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

0724 「万泉河」烟台方法前进之路:在信捷PLC中实现FB功能

0724 【万泉河】烟台方法前进之路:在信捷PLC中实现FB功能

前段时间, 微信群里有个网友杠我:

万老师, 你如果能研究把烟台方法应用到信捷小PLC中,实现优雅编程就厉害了。

我说,那怎么样?

佩服你厉害。

那就是男人之间最朴素的赌约了:承认你厉害。

虽然没有啥实际意义, 我还是到信捷官网下载了编程软件研究了一下。

属于最简单的那种PLC, 没有FC, 也没有FB, 只有一个C函数功能,然而主要用于自定义算法实现的,看来也用不上什么大用场。

所以简单研究后, 就放弃了。 软件卸载, 文档资料也都删除到回收站里了。

反正我也没吹过牛,没拍过胸脯, 做不出就做不出了。 也不是我个人的责任。 没什么。

然而两天前, 某位参加了烟台方法学习的深圳的学员讲, 他们那里周边有很多非标设备的厂家,大量使用信捷PLC控制,因为成本低,所以用量很大。 是一块巨大的市场。

所以, 如果我们能努力研究下,开发出便捷高效的程序架构,帮助这些工厂实现一定程度的标准化架构,也可以带来一些市场收益。

所以我就把删除的文件从回收站里又翻出来恢复,软件也重新安装了。 再从头研究了解。 其实本意想的是, 如果实在不能实现面向对象模块的重复调用, 那就最朴素的方法平铺开写,然后通过STL的规律, 顶多想办法 再用高级语言软件生成一套上位编程软件,对象的应用库都在上位软件中,在上层实现面向对象的标准化应用, 顶多实现过程麻烦一点,但只要花出些精力实现了, 以后一劳永逸,也仍然可以实现高效和优雅。

于是按照上述的思路, 把80双联开关的例子程序在迅捷PLC中实现了, 先做了一般发给他。

然后再具体翻阅文档的时候, 发现信捷PLC虽然不支持单独文件格式的子程序,所有程序都在一个主程序中实现, 然而仍然可以有子程序:

虽说相当简陋,但也总比一遍一遍无穷次地重复写代码要好一些。

所以研究了如何用这个P子程序实现功能块的方法。 只有实现了功能块, 后面才有可能实现面向对象的标准化应用。

而这种子程序的缺点非常多,没有参数接口,没有INPUT, OUTPUT, TEMP , STATIC, 其实就是啥都没有。

那么就需要把这些功能全都逐一规划实现。

比如没有INOUT接口, 我们可以统一规划M100-M199为输入接口,而M200-M299为输出接口。所有FB均使用同一接口,可以实现在调用时结构的统一规范,易于使用。

那么每个FB逻辑内部, 需要对使用的公共M区(以及D区)进行备份保存现场,以及运行数据恢复。那么需要得到每个实例的UID标识, 以将静态数据保存到固定的存储区域。

然而也并不适合所有数据全部存储,需要部署安排一部分TEMP区域,否则所有数据都保存的话,在系统设备多的时候,D区很快会耗光。

我做三菱标准化的时候为什么曲折特别多?就是因为它的FB里面没有TEMP, 全靠STATIC VAR , 导致软元件消耗非常快,动辄一不小心就耗光。

而对于TEMP区,还需要考虑到子程序多重调用产生的堆栈和出栈的问题,同一个子程序内部,在调用了另外的子程序进入并回来后,TEMP的数据以及INOUT的数值都不应该丢失被冲掉。

即需要有一个堆栈层数的计量。

这种编程其实已经完全回到最古老的汇编语言的编程了。 而其实所有高级语言,以及PLC语言, 最终也都是经过编译后成为汇编语言并到机器码,才被CPU识别并执行。 所以是否支持面向对象的功能, 那是高级语言系统的区别, 到了机器代码层级,都一回事, 并没有什么区别。

比如我所规划的:

M5000-5099 100 BIT TEMP,M5100-5199 100bit INPUT,M5200-5299 100BIT OUTPUT,DM5300-5320 20WORD TEMP, 其中DM5300存放了当前UID的偏移量---堆栈保存到的D1100

D1000-1020 20WORD STATIC

D1000 参数给定/运行INPUT/OUTPUT

D1020 参数给定内部使用

D1040-1060 TEMP

---堆栈40wWORD保存到的D1200

D1060 运行值静态

有人会反驳, 标准化编程你不是反对用全局变量嘛? 这不还是规划使用了全局变量

放心, 我这里规划的全局变量,都是同一套变量在重复使用, 而且使用之前会保存现场值,使用之后会恢复现场值。

比如M5000的数据我用过了,然而如果有相邻的程序功能, 有人恰巧也用到了M5000,也不影响。(这里面又又出现了谈虎色变双线圈色又变的故事, 下回专门讲)

最终程序用到的只是D1000—D7999的数据区。 而且数据区的使用都是自动分配的不会发生呼吸干涉, 即便调试程序, 都不需要查阅数据区的使用情况。

如下是实现了定时器以及MOTOR块的情况:

以及电机块的实例化调用:

大学时代有学习过汇编语言, 考试成绩还不错。 然而工作这么多年,除了曾经解读加密软件的反汇编代码曾经接触过一点之外,一直没有机会用到。 没想到那点技能和理解,今天又用上了。

这个程序暂时不打算公开。因为并没有经过调试,还有很多错误。因为我并没有信捷PLC的真机,而信捷的软件里也没有仿真功能。 所以虽然我把架构搭好了,到真正能跑起来, 差的还很远很远。 要完全实现标准化烟台方法, 更是不知到哪年了。

也不打算做完整的培训例子教程,一方面不晓得同行的需求度有多高,我耗费心血做下来市场不认可, 也是白白浪费精力。 另一方面,这个的开发难度比起即便SMART和三菱,又高出了一个层级, 那么价格会比他们更高,而对于习惯使用廉价PLC的同行及工厂来说, 这部分费用肯定难以承受。

开发难度高,学习难度也更高了。 学习的门槛就更高。所以也不认为有推广的意义。 如果哪位玩汇编熟练的老手,想做同样的工作,看看我上面两张截图和说明, 估计自己也能做出来。

如果哪位手里有淘汰不用的迅捷PLC的硬件, 又非常想获得这套例子程序参考,可以跟我联系交换。 但无论如何必须接受一点:程序是不完整的, 一定有很多错误。所以你肯定是先接受了本文中提出的理论理念, 认为有可行性,才来加入学习。 而不是像行业中的某些人,拿到我书看到其中的TIA误写成TAI这样的错误,就破口大骂,抱怨书的内容垃圾, 甚至大有一种通过一个小错误全盘掀翻所有理论, 并逼你下跪认错的架势。 太令人不齿了。

其他的有应用信捷PLC, 或者其它类似的小型PLC如军创等的厂家, 如果有研发非标设备的需求, 希望能有协助开发标准化程度高一些的程序架构,现在可以联系合作了。

PLC的基本结构和作用

(此处已添加圈子卡片,请到今日头条客户端查看)

一般 PLC 分为整体式和组合式两类:整体式机型大多应用于小型单机控制,其外形如图7.6所示,结构组成如图7.7所示;组合式机型应用于大型多机网络式控制,其外形如图7.8所示,结构组成如图7.9所示。

现以整体式PLC为例,说明其内部结构及各部分结构的作用。

图7.6 整体式PLC机型的外形

图7.7 整体式PLC结构组成示意图

中央处理单元

即CPU,它是PLC的运算、控制中枢。它按照PLC系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并能诊断用户程序中的语法错误。PLC的档次越高,所用的CPU的位数也越多,运算速度也越快,功能越强。

图7.8 组合式PLC 机型的外形

图7.9 组合式PLC 结构组成示意图

存储器

PLC配有系统存储器和用户存储器两种存储器。在系统程序存储区中存放着相当于计算机操作系统的系统程序,包括监控程序、管理程序、命令解释程序、功能子程序、系统诊断子程序等。由制造厂商将其固化在EPROM中,用户不能直接存取。它和硬件一起决定了该PLC的性能。用户存储器用来存放用户编制的控制程序。存储器常用类型有ROM、RAM、EPROM和EEPROM。

输入/输出单元

又称I/O模块或接口,PLC通过I/O单元与工业生产过程现场相联系。为了保证能在恶劣的工业环境中使用,输入输出口都有光电隔离装置,使外部电路与 PLC 内部之间完全避免了电的联系,有效地抑制了外部干扰源对PLC的影响,还可防止外部强电窜入内部CPU;在 PLC 电路电源和输入、输出电路中设置有多种滤波电路,可有效抑制高频干扰信号。

(1)开关量输入接口

PLC输入接口都采用光电耦合器为电流输入型,能有效地避免输入端引线可能引入的电磁场干扰和辐射干扰。在光敏输出端设置 RC滤波器,是为了防止用开关类触头输入时触头振颤及抖动等引起的误动作,因此使得PLC内部约有10ms的响应滞后。当各种传感器(如接近开关、光电开关、霍尔开关等)作为输入点时,可以用 PLC 机内提供的电源或外部独立电源供电,且规定了具体的接线方法,使用时应加注意。直流开关量输入接口原理及接线图如图7.10所示。

图7.10 直流开关量输入接口原理及接线图

有的PLC输入无须外接电源,称为无源式输入单元。

(2)开关量输出接口电路

PLC的输出形式主要有3种:继电器接点输出、晶体管输出和晶闸管输出。

① 继电器输出:开关速度低,负载能力大,适用于低频交直流负载的场合,如图7.11所示。

② 晶体管输出:开关速度高,负载能力小,适用于高频直流负载场合,如图7.12所示。

③ 晶闸管输出:开关速度高,负载能力小,适用于高频交直流负载场合,如图7.13所示。

图7.11 继电器输出原理及接线图

图7.12 晶体管输出原理及接线图

图7.13 晶闸管输出原理及接线图

提示

① PLC 输出接口是成组的,有汇点式和隔离式两种。每一组有一个COM口,只能使用同一种电源电压。

② PLC 输出负载能力有限,具体参数请阅读相关资料。

③ 对于电感性负载应加阻容保护。

④ 负载采用的直流电源小于 30V 时,为了缩短响应时间,可用并接续流二极管的方法改善响应时间。

电源

PLC的电源在整个系统中起着十分重要的作用,PLC配有开关稳压电源的电源模块,用来将外部供电电源转换成供PLC内部CPU、存储器I/O接口等电路工作所需的直流电源。同时,有的还为输入电路提供24V的工作电源,用于对外部传感器供电,避免由于外部电源污染或不合格电源引起的故障。小型PLC的电源往往和CPU单元合为一体,大、中型PLC都有专用电源部件。

扩展口

扩展口是PLC的总线接口,当用户所需的I/O点数超出主机的点数时,可以通过加接I/O扩展单元来解决,主机与I/O扩展单元通过扩展口连接,如图7.14所示。PLC具有多种I/O模块,常见的有A/D、D/A模块;另外有快速响应模块、高速计数模块、通信接口模块、温度控制模块、中断控制模块和定位控制模块等种类繁多、功能各异的专用I/O模块和智能I/O模块。针对不同的工业控制应用场合,选择I/O功能模块与基本单元连用,可充分发挥PLC灵活、通用、可靠、迅捷的优势。

外部设备接口

外部设备通过该接口与PLC联系,完成人机对话,如外存储器、EPROM写入器、人机接口(触摸屏)等,如图4.17所示。还可以通过此接口与专用编程器或计算机相连,进行编写 PLC 控制程序、输入程序、调试程序、修改程序以及在线监视PLC的工作状态等。

图7.14 PLC扩展外部设备连接方式图

(此处已添加圈子卡片,请到今日头条客户端查看)

相关问答

迅捷plc怎么下载程序?

要下载程序到迅捷PLC,可以按照以下步骤进行:1.打开SimUT有关的工程文件:首先,打开SimUT程序并导入相应的PLC项目文件。2.连接PLC:通过串口或以太网连...

Codesys用于什么PLC?

PLC软件编程工具CODESYS是一种功能强大的PLC软件编程工具,它支持IEC61131-3标准IL、ST、FBD、LD、CFC、SFC六种PLC编程语言,用户可以在同一项目中选择.....

为什么铝材挤压机的PLC都是用三菱多?支持国产PLC不好吗?

但近些年我国PLC生产厂家犹如雨后春笋,涌现出不少品牌。当然有好些产品质量还有待提高,售后服务也需改善。但是也有质量和服务做得可以的啊!我觉得工控行业还...

下载的搜狗皮肤为何安装不了?-ZOL问答

WIN7系统制作视频的免费常用软件有哪些啊?2浏览2回答苹果11出现,出现suppo...三菱fx1s的plc与迅捷触摸屏th765的通讯程序肿么写?9565浏览6回答《辐射4.....

NEWSUN售后电话是多少?-一起装修网

一起装修网问答平台为您提供NEWSUN售后电话是多少?的相关答案,并为您推荐了关于NEWSUN售后电话是多少?的相关问题,一起装修网问答平台:装修问题,因我而止。

小米天气刷机后没了,肿么重新下载-ZOL问答

小米软件商城,可以下载,小米自带的都能下载有用(0)回复ostrich111上面本来就有还用下吗?有用(0)回复luckluge应用商城能查看自己的安装记录,你看下。有...

成都变频器维修中心在哪里_汽配人问答

[回答]有充足的零部件,包括大量变频器品牌的主板,驱动板,电源板,模块,IGBT等备品,有各种变频器品牌材料手册,能为客户提供迅捷,优质的变频器维修和保养服...

阿斯顿马丁是哪个国家生产的跑车?

阿斯顿马丁(ASTONMARTIN)阿斯顿.马丁(AstonMartin)原是英国豪华轿车、跑车生产厂。建于1913年,创始人是莱昂内尔.马丁和罗伯特.班福德。公司设在英国新...

压力调节经典参数?

(1)技术参数a)允许工作温度:-30℃~80℃。b)允许燃油量最高温度:不大于85℃。c)允许入口最大压力脉动:不小于100kPa。d)允许最大压力:...每次循环2h低...

威伦触摸屏fastsel肿么显示-ZOL问答

还有以前我下载后有个按钮上的字没有显示出来,后来连接PLC,一通讯就显示出来了。希望对你有所帮助有用(0)回复yuruikah建立变量,连接到相应内部继电器的地...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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