线下实训
HOME
线下实训
正文内容
台达plc能用c编程吗 C语言和PLC的结合
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

C语言和PLC的结合

如果要进行一个“复杂运算”(包括加减运算,但是运算步骤很多),尤其是需要重复使

用这个算法处理数据时候,使用 C 函数功能块将非常方便。

举个栗子:用公式: a= b/c+b*c+(c-3)*d 完成运算。

方法一:如果使用梯形图编写上述公式,处理步骤与程序如下:

首先求出 c-3 然后算出三个乘式的积 最后求和

虽然只有以上三个步骤,但是梯形图只支持两个源操作数,所以必须分成多步求结果。

在上面梯形图运算中有几点要注意:

(1)MUL 运算结果为双字,就是说 MUL D1 D2 D14[D15],结果是存放在D14[D15]两个

寄存器内。

(2)DIV 运算结果分商和余数,即:DIV D1 D2 D16,商在D16 中,余数在D17 中,所以

如果运算有余数则精度就降低了,要得到精确的结果得用浮点数运算。

(3)在求和时,由于D16 为商,是单字数据,所以加运算的时候得先统一数据类型,最终

得到的结果存放在D22[D23]中。

方法二:使用C 函数写,梯形图程序如下:

首先,我们对上面的 C 语言梯形图指令结构进行解析:

RESULT 为函数功能块的名称

D0 表示函数中 W[0]为 D0,W[1]为D1 以此类推,如果 S2 为D32,则函数块中

W[0]为D32,W[1]为D33 以此类推

M0 表示函数中 B[0]为 M0,B[1]为 M1 以此类推,如果 S2 为M32,则函数块中

B[0]为M32,B[1]为M33 以此类推

C 语言部分内容如下:

通过两种方法的对比可以看出,通过 C 函数功能,能够大大简化梯形图编程,提高编

程效率。

上面的C 函数运算和梯形图相似,精度也不高,如果要得到精确结果则使用浮点运算。

又来一个栗子:

利用函数功能块计算出CRC 校验值。

CRC 校验运算规则如下:

(1)令16-bit 寄存器(CRC 寄存器)=FFFFH。

(2)将第一个8-bit byte 的讯息与低位元 16-bit CRC 寄存器异或(Exclusive OR)。

(3)右移一位CRC 寄存器,将0 填入高位元处。

(4)检查右移的值,如果是 0,就将第三步的新值存入 CRC 寄存器内,如果为非 0,那

么将CRC 寄存器的值与A001H 异或,将结果存入CRC 寄存器内。

(5)重复(3)到(4),将8-bit 全部运算完成。

(6)重复(2)到(5),取下一个8-bit 的讯息指令,直到所有讯息指令运算完成。最后,

得到的 CRC 寄存器的值,即是CRC 的校验码。值得注意的是CRC 的校验码必须交换放置与讯息指令的检查码中。

编辑C 语言功能块程序,如下:

编写PLC 梯形图程序,D0:校验数据的字节个数,D1~D5:校验数据的内容。如下:

下载到 PLC 里,然后运行,使 M0 置 ON,通过自由监控就会发现寄存器 D6,D7 内

分别存入了 CRC 校验值的高位与低位。

哪款PLC最难学?

作为刚接触PLC的新人来说总有这样的困惑,我该从哪款PLC 学起呢? 这种问题我们论坛的网友也有很多在提问!PLC的种类繁多,品牌大致分为欧系、日系、美系,欧系PLC以西门子为主,日系有三菱、欧姆龙、松下……,美系有罗克韦尔(A-B)通用电气(GE)公司等等。

事实上在很多公司里面的使用的PLC品牌并非单一品种,工程师要适应不同项目的需求,还是需要掌握更多品牌PLC的技术知识,尽可能的丰富自己的知识面!那么在众多品牌的PLC中您认为哪个品牌最难学?下面来一起看看网友的观点,也欢迎朋友们加入讨论!

举个栗子,某些网友的感受:

施耐德,唯一没有学会过的一款知名PLC,主要是软件安装复杂,编程资料甚少,软件不通用,如果有机会,还是想弥补这个遗憾,最后一公里,参差不齐,百家齐放。

AB: 入手难,因为厂家技术支持收费,下载了AB中文软件安装,成功之后登入编程界面发现是英文版的,本人英语不行。

对此您有哪些看法呢?

先看看大家都怎么说:

yuanle

最难学的是美国的Softplc,这个是PLC的品牌,不是大家口中的软PLC,使用Java编程,我相信,目前的PLC使用者中至少有95%玩不转Java。

郭远林

话说三菱的PLC的品牌适合我们习惯

changmaogood

还木有开始学。之前在学校里学过三菱的,现在都忘了,感觉应该是三菱的最容易学,不知道那个最难学,我们应该讨论一下哪种PLC用在哪个领域多一点,这样方面后续想学习PLC的一个指引的做用

这不是特伦特

AB难,三菱最简单,因为三菱和继电器控制原理图类似,容易懂

huoshi

相比较施耐德比西门子,三菱难学!

折戟沉沙铁未销

我们公司有7/8台的施耐德PLC的自动上下料机台没人会弄瘫痪在哪了

鱼雷艇

学习那么多干嘛 挑几个学精不好吗

zj841015

入门以三菱为好,最难学的是西门子300以上的PLC

chen6717

施耐德和AB的PLC,感觉难学,也因为接触的少,自己在实际工程应用的不多

竹叶三—王者之师

国外品牌施耐德,国内的腾控都是我认为难学的。

还是日系及相关的好学。西门子等其次。

xiaobing66

没有认真接触学习过的就会觉得难,开始接触信捷,三菱,后来接触西门子,没接触前觉得特别难,现在又觉得西门子挺好用

Frank lu

欧姆龙开始用的不习惯

请叫我王老湿

外国的plc相对艰难,国产plc相对入门上手快,特别是只有英文版软件的plc,看着头大,功能越多编程越难,基恩士比较容易上手,帮助文件里面就有实例程序,可以复制修改就是自己写的

hommy2013

国的plc相对艰难,国产plc相对入门上手快

will666

AB不难,只是以前资料相对较少,卖的比较贵,用的人少,显得学起来难,实际上比西门子入门要简单很多。西门子相对来说入门难一些,主要是功能太多,需要设置的地方更多,一不小心就错了,但是因为资料多,再加上西门子官方论坛做的非常好,自学起来很容易。用过的PLC中最难的感觉是GE,用的是PAC3i系列的冗余,CPU和IO的通讯不是硬件配置上就能用,而是需要编程做映射,冗余切换也是要用官方的程序写,感觉他就是给你个平台,功能都要自己去写代码,那个项目愣是在机柜边干了将近一个月才把程序做出来,还是请GE的技术指导了好几天,给我把项目架构搭起来。

千山独步

习惯西门子PLC后,觉得日系PLC用起来别扭,美系PLC没使用过。

乖乖小笨熊

腾控我也是认为难学,测试过后就不再选用了

chen6717

说到学习PLC的难易,感觉关键还是相应品牌的软件的难易,全英文(外文)的PLC软件的使用上,自然要比中文的难。再加上软件自带的帮助系统和网络上相关资料的普及度,个人的项目使用等原因导致。现在的CodeSys系统好像有集成各家品牌的趋势,这块也是值得我们学习的。

从投 再来

个人认为PLC 难学分2种,一种是入门难,另一种是精通难。市场占有率广的相对好入门。

黄鸿卿

施耐德,AB

yinguiyao

难不难学 跟PLC品牌没关系,

1、看PLC的产品定位 2看学习者基础

对于电工出身的,适合三菱、欧姆龙等低端型号,如FX CP 等,学习梯形图语言,因为和继电器电路类似,所以入门很容易,

我推荐这类初学者用欧姆龙的CP1H,或者三菱FX3GA 这俩型号应用目前不过时,下载数据都是USB直连 很简单,软件也不大,支持基础的梯形图语言,能力提升还可以学其它语言

对于科班出身的,想必都有高级语言基础 那就PLC学啥都简单了,如果你要认为PLC难,那你大学就白念了

aragaki

我觉得还是要看PLC的生态圈是否齐整。其实,很多的功能都是一通百通的,我推荐西门子的PLC,功能强大,而且教学部分内容很细致。

zzzicco

目前用过西门子,GE,三菱,西门子算是最常用的,比较习惯这种方式,GE对我来说用起来比较不顺手,感觉有些困难

yang20908

Codesys 菲尼克斯 倍福 B&R 这些才麻烦

川疆粤沪

用过很多种PLC。目前感觉最难搞的是西门子S5系列和贝加莱PC2000系列。

S5从低端到高端有好几个系列,即使同一个系列,不同CPU, 就有些指令不兼容,系统功能块定义不一样,同样功能的模块,软硬件设置又有区别,全部手册摞起来比人还高。要看懂一些远古大神的程序真的好比读天书。

贝加莱的问题是想法太多,一个模块功能太多,数字模拟通讯运动控制都想搞在一个巴掌大小的模块上,最后弄的是一个模块里就有几个CPU, 还要不同的软件来编程配置。连他们的客服都搞不明白,直接劝我放弃。否则要找欧洲本部的人来支持。

李纯绪

欧美的很多产品设计思想与我们思维方式有差距,这些洋人考虑问题很奇怪,有直道不走非绕圈子。所以,欧美的PLC都不好学。还是PLC老祖宗--欧姆龙好!

victor329

无所谓哪个难学易学吧,反正是熟能生巧,用的多了自然认为就好学了!

从毕业后接触的三菱算是入门级,到后来的OMRON,再到西门子,倍福,AB……

个人认为不论是梯形图还是语句表,原理大同小异,总之,还是实践出真知,真正在项目中用一用,才能真正的入门,要想精通,还有很长的路要走啊!

Qoml

BECKHOFF倍福的PLC,值得拥有姓名!!高级语言以及云平台的接入才是难度的开始

我目前就使用过,西门子的,三菱的,台达的,信捷的,感觉西门子的困难一点,水平比较差还要继续加油

看了这么多网友的观点,我们听听专业建议,看看蔡慧荥老师怎么说:

有人说施耐德、AB、倍福、贝加莱PLC难学,也有人说西门子、欧姆龙PLC难学,其实每个人的基础不一样,看法也会有所不同。

对于一些电工出身,没有接触过PLC的,当他初次接触某些品牌PLC(比如三菱、西门子)的时候,他可能就会认为PLC难学,认为西门子PLC比三菱PLC的难学。一是他接触的PLC品牌少,还不知道有其他的PLC,二是所以会有这样的看法。对于这些初学者,适合选择三菱小型系列的PLC,如FX系列,入门也会比较容易。

对于有一定基础,有使用过常见品牌PLC的,他们可能会认为一些品牌,比如倍福、贝加莱等难学,其实是因为这些品牌的资料相对较少,使用的人少,显得学起来难。像常见的,比如三菱、西门子PLC,因为官方论坛资料多,使用的人多,自学起来相对容易些。

当然还有一种情况,是对于编程语言这一块的,一般常用的是梯形图语言,有些人会认为ST语言,SCL语言难学,那是因为他们没有C语言基础。所以这样就不是哪个品牌容易哪个品牌难的问题了,这也是跟个人知识水平层面有关。

说了这么多,其实不论是哪个品牌的PLC,原理都是大同小异的,无所谓哪个难学易学,熟能生巧,用的多了自然就不觉得难了!

↓↓↓领取学习资料

相关问答

台达触摸屏DOP-B与三菱PLCFX3U通信肿么接线才能做到既能在...

能佳能FX33人讨论1663次围观关注问题写回答讨论回答(3)hjp621566利用台达触摸屏编程软件DOPSoft1.01.10的在线模拟功能有用(0)回复bluewater...

台达PLC上的“ERROR"指示灯闪烁是什么意思?谢谢?

一般来讲就是PLC出错了,不过这个要根据不同品牌不同型号的,意义也不同,最靠谱的是看一下该款PLC的硬件手册,看看手册上怎么定义的,这是最准确的。或者连上编...

求大神台达PLC跟电脑通信不了求解,在线等?

这种情况的解决办法:1,首先,确定PLC与PC的连接线,电脑驱动是否有问题,查看设备管理器,通讯端口是否正常,如果识别不了,说明驱动有问题,需要你安装台达P...这...

台达PLC通讯问题?台达plc好维护吗?

[回答]冲区3+缓冲区4=2+88+128+168+208=594字节。01FEDFUU0U在后。00c230200A4UDA在后。041AU魔U0在后。则会在相应的地方将数据写入进去。不同于常见.....

台达PLC中高速计数器C251.C252.C254所对应的AB相脉冲输入点都是X0.X1。如程序中这三个计数器都需要用到?

只要有一个高速计数器占用了X0,X1,那其他高速计数器就不能再占用X0,X1了。只要有一个高速计数器占用了X0,X1,那其他高速计数器就不能再占用X0,X1了。

台达plc怎样选型?帮忙解答一下

[回答]我认为必要重要的是机型统一,一个企业,应尽量做到PLC的机型统一。因为(l)同一机型的PLC,其编程方法相同,有利于技术力量的培训和技术水平的提高;(2)...

台达plc在编程时定时器输出线圈如何表达?-158****3580的...

ldM1000tmrt0k10ldt0outy0和三菱一样楼上正确TMRT0K100定时器定时器编号设置值TMRT0K100定时器定时器编号定时时间设置

台达PLC通讯错误(功能不支持)?

你用的是牌子的PLC,我今天也遇到了这个问题,我用的是LG120S的PLC同台达VFD-M系列变频器通讯,可是通讯状态出现的数据是512,16进制是01H,就是功能码错误,...

台达的PLC、变频器、编码器之间怎么联系?如何来控制?

定位控制的话加个编码器控制,用plc高速计数AB相的话用C232接X0和X2;比如你需要走一个距离或者角度,比如是一圈,然后你编码器的一周脉冲数是2000;开始启动时...

台达指令tmr是什么意思刚接触PLC看到些梯形图程序上面有这些...

[最佳回答]时间继电器指令TMR,T0时间继电器设置为10S

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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