课程中心
HOME
课程中心
正文内容
汇川plc编程如何注释 汇川技术PLC应用逻辑编程技巧(7)小型PLC编程经验
发布时间 : 2025-04-06
作者 : 小编
访问数量 : 23
扫码分享至微信

汇川技术PLC应用逻辑编程技巧(7)小型PLC编程经验

哈喽,你好啊,我是雷工!

前面学习记录按状态转移编程法、按功能分块编程法、按设备结构功能分块法、按工位分块法等编程思路,

接下来继续学习小型PLC编程经验的总结,

以下为学习笔记。

01 梯形图经验

小型PLC基本上都是用梯形图进行编程,以下经验是否正确:

①:LD梯形图语言编程,常用的指令在30个以内,可轻松上手,初学者不建议首选SFC编程语言;

②:编程时要多用子程序,这样可以便于编写结构化的程序,提高程序的可读性,提高执行效率,也更易于调试;

③:要尽可能多用状态划分的编程风格,尽量采用典型的状态排序;

④:编程时要先定义程序框架,把状态分块,界定每个程序块的功能、算法、接口变量,并用程序注释的方式进行记录;

02 开发经验

有人说PLC编程相比程序员的高级语言编程并不需要深度的学习。(你认可吗?)

小型PLC编程要灵活使用Autoshop编程工具,可以减轻记忆负担(有更好的经验,欢迎分享)

03 如何让程序更易于阅读和理解

在C#编程时,合理的注释能够让人更清晰的读懂理解程序;

那么PLC编程,哪些习惯能够便于他人和自己更容易的阅读理解程序呢?

①:工序图

在规划设备状态、设计好程序框架后,可以先拟定设备主要工艺的子程序,并以工序图的形式注释每个子程序的功能;

像入口变量属性、主要算法、输出变量等做好记录;

②:Excel表格

用好Excel表格,规划记录设备系统的程序变量;可以按变量属性进行区域的划分,特别注意与上位机交互的变量,各种操作命令、设定参数等分为不同的区域,不仅可以提高上位机读取效率,还能够防止上位机误该参数,导致难以查明的运行故障;

把设备运行状态参数放在低地址段,把需要保存的记录参数放高地址段;

把多个工位子程序使用的变量尽可能规划各自独立的区域,并且区域间预留适当的间隔;

③:给常用变量别名

对于重要的已经定义的常用变量,批量标注有意义的别名,可以避免编程过程中反复核对变量定义,可以有效提高效率;

04 编写注释的好处

①:开发时可以先一次性写出主要子程序的功能注释,这样比直接写程序思路更清晰连贯,考虑也更周全;

②:写注释的过程可以核对逻辑处理是否严谨;若发现问题可以及时完善注释,再开始写程序,可以避免写程序过程中发现问题,再修改程序,会更加费时费力;

③:注释梳理完成后,再按照注释编程,思路清晰,逻辑明确,可以更快的编程;

④:可以方便多人协作同时编程调试;

⑤:注释清晰有助于个人快速读程序,能够更快的进入编程状态,避免没有注释,自己之前写的程序自己还得捋半天才理清思路;

⑥:方便调试排查问题,便于后期维护;

05 调试技巧

当写完一个状态的子程序以后,就可以在PLC上验证该子程序的逻辑处理是否正确:

可以强制该子程序的触发条件,让PLC反复执行该子程序,给该子程序入口变量设置不同的数值,观察输出口变量的结果值,这样就能够判断该子程序的逻辑是否正确,以便及时修正;

06 编程细节

编写一个能用的程序很简单,但是实际项目中只是简单的能用还不够,还得要求程序安全、稳定、健壮;

这时候就需要完善程序的保护机制,让保护更全面,使其操作起来更流畅;

①:状态指针式程序控制的关键变量,要避免赋值不存在的状态值,导致死机;

②:变量定义时,允许上位机访问的区域要独立划分,上位机可读写的变量,要检查其合法性后使用;

③:采用bit类型的变量编程,容易出现意外的组合,应当尽可能采用D寄存器变量,会更加的安全;

④:要考虑乘除运算需要的最大单元占用,避免溢出;避免出现除0的操作;

⑤:编程时先实现设备工艺控制功能,再进行设备异常状况、设备保护功能的添加;

一套成熟稳定的PLC控制程序,其中超过40%的代码都是用于设备安全保护功能的。

毕竟很多厂的口号也都是安全第一,生产第二;

07 整体思路

①:要有自顶向下的编程思想,即先整体再局部,化繁为简,拆大为小,然后逐步编程,让编程简化;

②:PLC编程更加注重实操上手,单纯的看书看视频100遍,不如上手操作一遍,要多动手;

08 后记

以上是关于小型PLC的编程经验,有不妥之处或有更加牛掰的思路,欢迎在留言区留言评论。

更多的技术问题欢迎在交流群相互交流。

博途S7-1200 PWM 功能组态及编程方法

本文档以DC/DC/DC类型的S7-1200 CPU为例进行说明。在Portal 软件中插入S7-1200 CPU(DC输出类型),在“设备视图”中配置PWM。

1. 进入CPU“常规”属性,设置“脉冲发生器”。如下图所示:

2. 启用脉冲发生器,可以给该脉冲发生器起一个名字,也可以不做修改使用软件默认设置值;可还以对该PWM脉冲发生器添加注释说明。如下图所示:

3. 参数分配:组态脉冲参数,如下图所示,“参数分配”部分对PWM脉冲的周期单位、脉冲宽度做了定义

a. 信号类型:选择脉冲类型。如下图所示,有PWM和PTO两种,其中PTO又分成4种,每种类型的具体含义在运动控制部分进行介绍。这在里选择PWM

b. 时基:用来设定PWM脉冲周期的时间单位。在PWM模式下,时基单位分成:毫秒和微 秒。

c. 脉宽格式:用来定义PWM脉冲的占空比档次,如下图所示,分成4种:

以其中的“百分之一”举例,表示把PWM脉冲周期分成100等分,以1/100为单位来表示一个脉冲周期中脉冲的高电平,也可以理解成1/100是PWM脉冲周期中高电平的分辨率。“千分之一”和“万分之一”相应地把PWM的周期分成更小的等分,分辨率更高。“S7模拟量格式”表示的是把PWM的周期划分成27648等分,以1/27648为单位来表示一个脉冲周期中脉冲的高电平。因为S7-1200 PLC的模拟量量程范围为0~27648或-27648~27648。

d. 循环时间:表示PWM脉冲的周期时间,Portal 软件中对“循环时间”限定的范围值:1~16777215。

e. 初始脉冲宽度:表示PWM脉冲周期中的高电平的脉冲宽度,可以设定的范围值由“脉宽格式”确定,例如,如果“脉宽格式”选择了“万分之一”,则“初始脉冲宽度”值可以设定的范围值从0~10000,同理,如果“脉宽格式”选择了“S7模拟量格式”,则“初始脉冲宽度”值可以设定的范围值从0-27648。如果设定值为0,则PLC没有脉冲发出。

4. 硬件输出:根据需要选择S7-1200 PLC上的某个DO点作为PWM输出。如下图所示:

『注意』该点只能是CPU上的DO点,或是SB信号板上的DO点,S7-1200 SM扩展模块上的DO点不支持PWM功能。

5. I/O地址:用来设置PWM的地址和周期更新方式,如下图所示:

a. 起始地址:用来设定该PWM通道地址,设置范围从0~1022。

b. 结束地址 由“起始地址”决定,每个PWM通道地址占用一个WORD的长度。

c. 组织块:用来设置PWM I/O地址的更新方式是基于哪个OB块的。用户可以根据需要通过“新增”按钮来添加相应的OB块,如下图所示,本例中用户可以选择默认选项“自动更新”。

d. 过程映像:设置PWM的I/O地址的过程映像的更新情况,这里的“PWM的I/O地址”指的是PWM周期脉冲宽度数值存放的地址。该选项用来设置脉冲宽度地址的更新情况。如下图所示:

S7-1200提供了6个过程映像分区。第一个过程映像分区“自动更新”指定用于每个扫描周期都自动更新的I/O,此为默认分配;接下来的4个分区PIP1、PIP2、PIP3和PIP4可用于将I/O过程映像更新分配给不同的中断事件。“PIP OB伺服”是给S7-1200运动控制的等时同步模式使用的。默认情况下,Portal 软件会将其I/O过程映像更新为“自动更新” (Automatic update)。对于组态为“自动更新”(Automatic update)的I/O,CPU将在每个扫描周期自动处理模块和过程映像之间的数据交换。如果将I/O分配给过程映像分区PIP1~PIP4中的其中一个,但未将OB分配给该分区,那么CPU决不会将I/O更新至过程映像,也不会通过过程映像更新I/O。将I/O分配给未分配相应OB的PIP,相当于将过程映像指定为“无”(None)。在设备组态中将 I/O 分配给过程映像分区,并在创建中断 OB 或是编辑 OB 属性时将过程映像分区分配给中断事件。用户可以在指令执行时立即读取物理输入值和立即写入物理输出值。无论 I/O点是否被组态为存储到过程映像中,立即读取功能都将访问物理输入的当前状态而不更新过程映像输入区。立即写入物理输出功能将同时更新过程映像输出区(如果相应 I/O点组态为存储到过程映像中)和物理输出点。如果想要程序不使用过程映像,直接从物理点立即访问 I/O 数据,则在 I/O地址后加后缀":P"。

根据上面的说明,本例中用户可以直接选择“自动更新”。由于PWM的I/O地址是Q(输出区),因此用户可以使用QWx,也可以直接更新外设地址QWx:P。

6. 硬件标识符:该PWM通道的硬件标识符是软件自动生成的,不能修改。

软件编程

1. 在Portal软件中打开程序块,进行PWM的编程。在指令选件中的“扩展指令”中的“脉冲”文件夹中可以找到CTRL_PWM指令。可以通过双击指令或是拖拽的方式把CTRL_PWM指令放到程序编辑区。如下图所示:

2. 在插入CTRL_PWM指令时会提示关联背景数据块,如下图所示,该数据块的名称和编号可以由用户手动设置,也可以选择系统默认值。

3. 配置CTRL_PWM指令参数。

①PWM :脉冲发生器的硬件ID号,就是“硬件标识符”,在上面的例子中硬件标识符为265,十进制的256当于W#16#109。

②ENABLE :PWM脉冲的使能端,为TURE时CPU发PWM脉冲,为False时,不发脉冲。

③BUSY :标识CPU是否正在发PWM脉冲。

④STATUS :PWM指令的状态值,当STATUS=0时表示无错误,STATUS非0时表示PWM指令错误,具体的错误值查看帮助或是系统手册。

4. 监控程序,并在线修改PWM的占空比。

如下图所示,用M0.0使能CTRL_PWM指令。

如果想实时修改PWM的占空比也就是脉冲宽度,需要通过修改QWx的数值。“x”就是用户配置PWM硬件组态时的“I/O地址--输出地址”,上面的例子为1000,则QW1000的数值就是脉冲宽度的地址。

如下图所示,① 在Portal软件左侧项目树中的“监控与强制表”中插入一个新的监控表,②在打开的空白监控表中的“地址”列手动输入QW1000,如然后在“显示格式”一列选择“带符号十进制”,如下图步骤③所示。点击监控按钮,如图中④ 所示,可以看到QW1000的监控值为50,该值是组态PWM时设置的初始脉冲宽度值。

用户可以在监控表中直接修改QW1000的数值来实时更改PWM的脉冲宽度(占空比),如下图所示。

用户可以根据需要进行测试实验。

相关问答

汇川plc注释有几种方法?

汇川PLC的注释主要有以下几种方法:1.单行注释:使用//符号来注释一行内容,例如://这是一个单行注释。2.多行注释:使用/*注释内容*/来注释多行内容,例如:/...

什么是好的白酒?

白酒的好坏,是由酒体中各种微量元素的含量来决定的,而除了正规的检测方法之外,广大酒友经过品鉴经验、从色泽、嗅觉、口感等方面提炼总结出一些可以意会、也能...

有人乱发我的照片为他抖音上。怎么办-找法网

汇川区律师找法网>法律咨询>贵州法律咨询>遵义法律咨询>遵义网络侵权>咨询详情遇事找法就上找法网20年70亿人次使用服务保障:严格审核专业解答放心...

公司的原始股与职务股有什么区别?在分红上有什么不同?-找法网

人咨询过继续咨询发生交通事故对方没有工作误工费如何赔偿交通事故赔偿15店撤柜,调去其它地方,我不愿意去撤柜调店不去的,有补偿。安排劳动者调店的,需要由劳动...

使用上市公司名字四年,算侵权吗-找法网

汇川区律师找法网>法律咨询>贵州法律咨询>遵义法律咨询>遵义商标>咨询详情遇事找法就上找法网20年70亿人次使用服务保障:严格审核专业解答放心购买...

校园贷危害,办理校园贷是否构成违法,有那些危害-找法网

赤水市律师道真律师凤冈县律师仁怀市律师绥阳县律师桐梓县律师务川律师习水县律师余庆县律师正安县律师播州区律师湄潭县律师红花岗区律师汇川区律...

你好网上起诉消费者权益纠纷提交材料是什么材料-找法网

商标注册证有效期是如何的商标0买了学习机后发现被骗能退回吗如果您被骗,请保留好相关证据,达到以下几点基本上都是可以追回的:1、平台还在运作,还没有跑路...

我用我老公给我的副卡申请一个微信号我是今天它就显示该微信...

我用我老公给我的副卡申请一个微信号我是今天它就显示该微信账号因批量或者使

我在网上买车我说我要退货他说运费要我自己付,这怎么办-找法网

商家说不临时涨价属于卖方违约Z人咨询过继续咨询警察玩忽职守罪如何认定职务犯罪40我在QQ买手机付完款又让我掏押金我不掏他又不给我退钱我应该怎你好,报警...

孤独症孩子在幼儿园坐不住,还要继续送吗?

这篇文章本来是先发博客的,你先看看或许对你有帮助……一个自闭症家长心得体会分享(本文内容讲述从发现-体会-心得-经验)那下面我们进入今天主题的第一章节...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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