西门子PLC-1200 SCL语言开发学习笔记 (一)

西门子PLC-1200 SCL语言开发学习笔记 (一)一、简介和背景PLC一般使用梯形图开发,但是梯形图适合电工使用而不是程序员使用,对我们来说开发困难,门槛高,幸好PLC的开发标准还带了类pascal的高级语言,在西门子这里叫SCL语言,这对于我们程序员来说门槛就很低了。要开发好复杂PLC逻辑,梯形图困难重重,市场上要价颇高,而使用SCL语言则非常合适处理复杂逻辑以及运算。二、新建SCL程序块在博图软件的项目视图中,便有添加新快,双击推荐使用FB模块,便于存放变量,语言选择SCL三、变量的创建和访问在打开…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、简介和背景

PLC一般使用梯形图开发,但是梯形图适合电工使用而不是程序员使用,对我们来说开发困难,门槛高,幸好PLC的开发标准还带了类pascal的高级语言,在西门子这里叫SCL语言,这对于我们程序员来说门槛就很低了。

要开发好复杂PLC逻辑,梯形图困难重重,市场上要价颇高,而使用SCL语言则非常合适处理复杂逻辑以及运算。

 

二、新建SCL程序块

西门子PLC-1200 SCL语言开发学习笔记 (一)

在博图软件的项目视图中,便有添加新快,双击

西门子PLC-1200 SCL语言开发学习笔记 (一)

推荐使用FB模块,便于存放变量,语言选择SCL

 

三、变量的创建和访问

 

在打开FB模块后,上方就是变量定义区

西门子PLC-1200 SCL语言开发学习笔记 (一)

 

Input则是输入参数,Output是返回值或者理解为C# out关键字的输出变量,InOut则是类似Ref的既输入又输出的,Static变量才是我们可以保留的变量,Temp 相当于方法内的局部变量,这次执行过后会被重设

我们的代码会被放在一个方法块内

不用担心用Static后每次调用使用这个变量会冲突,每个使用它的地方都会新建一套数据块副本,相当于实例化一个类,调用实例方法,并非完全静态的变量。

 

要写代码当然要会访问各个能访问的变量,

FB里面定义的变量用#开头来访问

访问地址用%开头,

西门子PLC-1200 SCL语言开发学习笔记 (一)

 

西门子PLC-1200 SCL语言开发学习笔记 (一) 

 

 

变量表里的变量相当于全局静态变量

我们给一些地址起了名字,既可以用 %I0.0 也可以用Btn1,最终都会变成”Btn1”。

访问别的实例的DB块中的变量则使用DB快的名字在用 . 进行访问,比如第一张图中块的 _2_DB_1″.BtnPress

 

 

四、变量类型

 

 

大部分的变量类型大家基本都认识了,比较搞得是时间类型,简单说下

Time 相当于TimeSpan,表示一段时间 比如 T#5s表示5秒,再比如 T#10h2m

LTime 长的Time,表达的时间更长

Date 日期

Date And Time DT类型,也就是datetime

Time Of Day TOD 就是时间部分了

 

 

博图的帮助中也提供了详细的解释,帮助文档也是比较全面的

结束:

下期讲解在梯形图中重要且复杂难用又难以组合的,定时器,在SCL中如何处理

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185299.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • phpstrom2021激活码(JetBrains全家桶)

    (phpstrom2021激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月27日
    76
  • 影视3D建模和游戏3D建模对比,哪个更有发展前景

    影视3D建模和游戏3D建模对比,哪个更有发展前景影视3D建模和游戏3D建模,两者之间最大和最明显的差异是:游戏开发永远有多边形建模预算。影视建模方面,对于多边形数量都没有限制。对于电影来说,唯一限制是时间,按时,按预算生产合格的模型。游戏建模设计不能随意增加多边形面数,必须依靠纹理细节提升模型的质量。由于多边形数量必须很低,需要其他方法将更多细节放入模型中,目前最好的方法当然是使用纹理。游戏建模设计技术游戏中经常使用的技术是细节层次。意味单个游戏会有几个不同的细节级别。玩家离模型越远,资产的细节就越少。随着玩家越来越近,较低分辨率模型将被.

    2022年5月19日
    54
  • tcp粘包是怎么产生的_tcp报文格式

    tcp粘包是怎么产生的_tcp报文格式tcp粘包是怎么产生的?1、什么是tcp粘包?发送方发送的多个数据包,到接收方缓冲区首尾相连,粘成一包,被接收。2、原因TCP协议默认使用Nagle算法可能会把多个数据包一次发送到接收方。应用程读取缓存中的数据包的速度小于接收数据包的速度,缓存中的多个数据包会被应用程序当成一个包一次读取。3、处理方法发送方使用TCP_NODELAY选项来…

    2022年8月11日
    6
  • NV12截图_js 截图

    NV12截图_js 截图截图原理参考:从NV12中裁剪子画面注意事项这是源码://裁剪的坐标X和Y必须是偶数,否则UV和Y会有偏差,注意点,linesize对其为1intNV12CropTo420P(uint8_t*nv12data,intwidth,intheight,intcropx, intcropy,uint8_t*yuv420pdata,intdscw,intdsc…

    2022年9月25日
    2
  • 硬盘加速和磁盘碎片整理软件

    硬盘加速和磁盘碎片整理软件2018/12/12PrimoCache(推荐):1、PrimoCache使用方法自行搜索,官网也有实例。2、PrimoCache的作用类似于傲腾,但是没有傲腾只能加速一个机械硬盘的缺点,PrimoCache可以同时加速多个机械硬盘。3、如果你有多余的内存,你可以开一级缓存,即使你没有固态硬盘也可以体验机械硬盘在开机后的加速。4、如果你有多余的内存和固态硬盘空间,你可以开一级缓…

    2022年6月25日
    51
  • C#进程间通信的方式_进程间高级通信方式可分为三种

    C#进程间通信的方式_进程间高级通信方式可分为三种进程间通信(IPC,InterProcessCommunication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是UNIX系统IPC最古老的形式。1、特点:它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。它只能用于具有亲缘关系的进程之间的通信

    2022年10月11日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号