0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

h1654155282.3538 来源:网络整理 2018-02-06 14:55 次阅读

plcC语言有什么关系

PLC为可编程逻辑控制器(Programmable Logic Controller)的首字母缩写。是一种面向工业控制的微型计算机系统。

PLC的硬件系统必须有控制器(单片机CPUFPGA等)、执行器(继电器、光耦输入等)、主板(电路板),三者缺一不可。由于现在的8位单片机片内存储容量最大可达64kB的程序存储器或4kB的数据存储器,32位单片机也有512kB的程序存储器和128kB的数据存储器,所以功能简单的PLC不需要片外存储器(内存芯片、内存条)也可以运行。而功能较强的PLC则需要片外存储器、辅助存储器(硬盘、SD卡)等附加设备。

PLC的软件系统分为三个部分:

1、PLC主机上运行的下位机程序。用于控制输出、检测输入以及与上位机进行通讯。该程序是梯形图转C语言或汇编语言,再编译后烧写到PLC的程序存储器内的。虽然编译的过程要经过C语言或汇编语言,但是PLC厂家一般不允许用户直接使用C语言或汇编语言编写PLC主机的下位机程序。

2、PLC编程软件。用于向下位机写入用户的控制方法。它将用户的梯形图转换成C语言程序或汇编语言程序,编译后烧写到PLC的程序存储器中。编程软件本身可以由C语言、C++语言等高级语言开发。具体使用的开发语言需要向相应的PLC厂家了解。

3、上位机软件。用于宏观上协调控制PLC的运行状态,代替PLC进行复杂的计算,存储设备的运行记录,并以可视化方式向管理员反馈系统信息。常见的上位机软件为“组态软件”,它是由PLC厂家或软件公司开发的上位机控制平台。用户可以使用指定的脚本语言进行二次开发。如“组态王”软件就指定使用BASIC语言进行二次开发。如果不使用组态软件,用户也可以使用汇编、C语言、C++、JAVA、BASIC等各种编程语言,在它们各自的编译器上编写代码,开发自己的上位机软件。

C语言是一种面向过程的通用计算机编程语言,作为编程语言用户数量排行榜上稳坐前4的编程语言,广泛应用于工业控制(*PLC驱动、*嵌入式系统、上位机软件)、游戏开发(▲DirectX、▲PhysicX、大型游戏开发)、操作系统开发(*Windows核心、*Linux核心、*Android核心)、驱动程序开发(*USB驱动、*串口驱动、*网卡驱动、*硬盘驱动)、软件平台搭建(JAVA虚拟机、Oracle数据库)、大型应用软件开发(OFFICE、VM WorkStation、CAD、PhotoShop、SolidWorks、Matlab)之中。

上述例子中,凡左边带“*”的例子,如果不使用C语言,就只能选择汇编语言,没有其它选择的余地,凡左边带“▲”的例子,必须经过C语言进行过渡才能使用其它语言,左边不带标志的,可以使用C语言以外的语言,但使用C语言将大大简化软件的开发(主要是软件性能很容易提升)。另外,C语言之所以叫“C”语言,是因为它是继“B语言”之后出现的编程语言,这个C代表的只是一个顺序。

对比之后可知,PLC是一个工业控制系统,包含软硬件的概念。C语言是构建工业控制系统及其它软件的工具之一。它们之间是房屋与符号的关系。PLC是房屋,C语言是符号。符号连同其它图素在纸上绘成蓝图、再将各种材料按蓝图进行组装就成了房屋。可是建成的房屋上却看不到符号的存在,而符号不止可以用来设计房屋,还可以做更多更伟大的事情。

plc可以用c语言编程吗

PLC有自己的编程语言,不能用c语言编程的。每个厂家有各自的编程软件,几个大公司的视窗版编程软件如 三菱公司的GPP For Windows编程软件,HMI人机界面画面设计软件,MELSEC-MEDOC编程软件。

世界出名的PLC生产厂家还有,美国通用电气公司,美国艾伦-布拉德利公司,日本三菱公司,日本富士电机公司,日本欧姆龙公司,德国西门子公司,的过通用电气公司,法国TE公司,不同厂家的产品在使用上相差甚远,甚至同一厂家不同系列产品在编程语言和编程方法上也有较大差异的!

plc的C语言编程详解

本章重点介绍C语言编辑功能块的特点、、编辑、指令调用、函数的存储、应用要点等,并附有常用函数列表。

1、功能概述

XCP新增功能,支持用户在XCP Pro编程软件中利用C语言编写功能块,在需要的地方进行调用,其最大的优点是支持几乎所有的C语言函数,增强了程序的保密性,同时由于可进行多处调用和不同文件的调用,大大提高了编程人员的效率。

2、指令形式

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

适用于XC系列PLC V3.0C及以上版本,XC1、XC3、XC5都支持。

名称由数字,英文,下划线组成,首字符不能为数字,名称长度需《=9个字符。 

名称不能与PLC内置指令名称冲突,如LD,ADD,SUB,PLSR等。 

名称不能与当前PLC已经存在的函数功能块同名。

3、操作步骤

1、打开PLC编辑软件,在左侧的“工程”工具栏内选择“函数功能块”,右击选择“添加新函数功能块”。

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

2、出现如下对话框,填写所要编辑函数的信息。

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

3、在新建完成后,会出现下面的编辑画面。

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

参数传递方式: 在梯形图调用时,传入的D和M,即为W和B的起始地址。如上图 D0,M0开始,则W[0]为D0,W[10]为D10,B[0]为M0, B[10]为M10。如梯形图中使用的参数为D100,M100,则W[0]为D100,B[0]为M100。因此,字与位元件的首地址由用户在PLC程序中设定。

参数W: 表示字软元件,使用时按数组使用,如W[0]=1;W[1]=W[2]+W[3];在程序中可按照标准C规范使用。

参数B: 表示位软元件,使用时也按数组使用,支持位置1和位清零,如B[0]=1;B[1]=0; 以及赋值,如B[0]=B[1]。

双字运算: 在W前加个D,如DW[10]=100000,表示给W[10]W[11]合成的双字赋值。

浮点运算: 支持在函数中定义浮点变量,以及进行浮点运算。

函数库:用户功能块可以直接使用函数库中定义的函数和常量,函数库中包含的函数和常量见后附部分。 

支持的其他数据类型:

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

预定义的宏:

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

四、函数的导入、导出

1、导出

(1)功能:将函数导出为文件,供其他PLC程序导入用。

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

(2)导出方式

a)可编辑:将源代码也导出,并保存为文件.再次导入后,可再次编辑

b)不可编辑:源代码不导出.再次导入后只可使用,无法编辑

2、导入

功能:导入已存在的函数功能块文件,供该PLC程序使用。

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

选中函数功能块,右键点击菜单“从硬盘导入函数功能块文件”,选择相应文件,按确定即可。

五、功能块的编辑

例:将PLC中寄存器D0,D1相加,然后将值赋给D2;

(1)首先在“工程”工具栏里,新建一个函数功能块,在这里我们把它命名为ADD_2,并且

编辑C语言程序。

(2)编辑完之后,点击编译;

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

根据编译信息列表内所显示的信息,我们可以查找修改C语言程序里的语法漏洞。在这里比较容易的发现程序中W[2]=W[0]+W[1]的后面缺少符号“;”。

当我们将程序修改后,再次进行编译。从列表信息里可以确认,在程序里面并没有语法错误。

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

(3)然后再编写PLC程序,分别赋值十进制数10,20到寄存器D0,D1中,并调用函数功能块ADD_2。如下所示:

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

(4)然后将程序下载到PLC当中,运行PLC,并置位M0。

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

(5)我们可以通过工具栏上的自由监控观察到D2的值变成了30,说明赋值成功了。

plc与C语言有什么关系_plc可以用c语言编程吗_plc的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与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

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

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

下载到PLC里,然后运行,使M0置 ON,通过自由监控就会发现寄存器D6 ,D7内分别存入了CRC校验值的高位与底位。

七、应用要点

使用函数功能块的PLC程序,上传后.该函数功能块无法上传,将出现一个未知指令错误。

一个函数功能块文件内部,可以写多个子函数,进行相互调用。

多个函数功能块文件彼此独立,不能相互调用各自拥有的函数。 

函数功能块文件可以调用浮点,算术等C语言库函数,如sin,cos,tan

八、附函数表

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

plc与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    4971

    文章

    12209

    浏览量

    454509
  • C语言
    +关注

    关注

    180

    文章

    7521

    浏览量

    127217
收藏 人收藏

    评论

    相关推荐

    PLC入门必看基础知识

    PLC基础知识(PLC入门必看)与C语言什么关系_plc
    发表于 09-09 08:39

    请问plc可以用c语言编程吗?

    plc可以用c语言编程吗?
    发表于 11-02 06:25

    PLC编程语言_操作指令_使用步骤详解

    PLC编程语言_操作指令_使用步骤详解,感兴趣的小伙伴们可以瞧一瞧。
    发表于 05-12 10:36 0次下载

    最常用的PLC编程语言编程方法详解

    继电器梯形图(LD-Ladder Diagram)语言PLC首要选用的编程语言,也是PLC最普遍选用的
    的头像 发表于 05-06 16:52 5730次阅读
    最常用的<b class='flag-5'>PLC</b><b class='flag-5'>编程</b><b class='flag-5'>语言</b>和<b class='flag-5'>编程</b>方法<b class='flag-5'>详解</b>

    PLC编程语言具体有哪些

    IEC(国际电工委员会)于1994年5月公布了PLC标准(IEC1131)。它有五个部分组成:通用信息,设备与测试要求,编程语言,用户指南和通信。其中第三部分(IEC1131-3)是PLC
    发表于 07-08 17:39 7781次阅读
    <b class='flag-5'>PLC</b>的<b class='flag-5'>编程</b><b class='flag-5'>语言</b>具体有哪些

    PLC编程语言种类及特点

    PLC编程语言主要由两大类:一是采用字符表达方式的编程语言,二是采用图形符号表达方式的编程
    发表于 05-03 17:43 3619次阅读

    PLC编程语言的类型和具有哪些特点

      PLC编程语言是工业控制领域内用于编写PLC程序的语言,旨在实现对工业设备和生产流程的自动化控制和监测。
    发表于 03-17 16:41 1059次阅读

    plc编程是什么 plc编程语言

    PLC编程是指通过PLC编程软件,使用PLC编程语言
    发表于 04-14 15:44 5085次阅读

    西门子PLC编程语言介绍

    PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程
    的头像 发表于 04-15 14:13 1256次阅读

    PLC各种编程语言特点

    编程语言种类很多,各有各的优势,语句表和指令表类似,是编程语言的一种,在PLC中应用比较普遍,也是一种高级
    发表于 04-20 09:55 0次下载
    <b class='flag-5'>PLC</b>各种<b class='flag-5'>编程</b><b class='flag-5'>语言</b>特点

    西门子PLC编程语言介绍

    PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程
    发表于 06-29 16:00 907次阅读
    西门子<b class='flag-5'>PLC</b><b class='flag-5'>编程</b><b class='flag-5'>语言</b>介绍

    PLC编程语言的特点

    PLC编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言
    的头像 发表于 07-04 17:13 575次阅读

    五种支持plc编程语言有哪些

    PLC控制系统设计中,不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,所以不但对PLC
    发表于 08-31 14:54 684次阅读
    五种支持<b class='flag-5'>plc</b><b class='flag-5'>编程</b>的<b class='flag-5'>语言</b>有哪些

    浅谈PLC 5种标准的编程语言

    IEC 1131-3的编程语言是IEC工作组 对世界范围的PLC厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际
    发表于 11-15 11:14 388次阅读
    浅谈<b class='flag-5'>PLC</b> 5种标准的<b class='flag-5'>编程</b><b class='flag-5'>语言</b>

    plc编程语言与c语言的联系 c语言PLC有什么区别

    PLC编程语言与C语言的联系 PLC(可编程逻辑控制器)是一种针对自动化控制系统的特殊计算机。
    的头像 发表于 02-05 14:21 901次阅读