西门子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)
上一篇 2022年8月31日 下午11:46
下一篇 2022年8月31日 下午11:46


相关推荐

  • Claude Code + Kimi K2 小白教程

    Claude Code + Kimi K2 小白教程

    2026年3月16日
    1
  • JDK 安装与环境变量配置(Win10详细版)

    JDK 安装与环境变量配置(Win10详细版)前言为什么写这篇文章呢,因为我不想再去百度搜别人的文章了,所以自己写一篇以作记录。准备工作JDK8下载地址一个JDK安装程序,这是是1.8版本,因为新的JDK版本都没有什么很大的亮点,如下图所示,安装鼠标双击运行,选择“是”,然后如下图:点击下一步:我在这里并不修改JDK的安装路径,所以无需改动,点击下一步:安装过程中会弹出jre的安装提示框,如下所示:这里无需…

    2022年6月9日
    34
  • MFC界面库BCGControlBar的介绍

    MFC界面库BCGControlBar的介绍英文原文:http://www.bcgsoft.com/bcgcontrolbarpro.htmBCGControlBar是MFC的一个扩展库其英文全称是”BusinessComponentsGalleryControlBar”,它允许你去创建像完全自定义的像MicrosoftOffice2000/XP/2003/2007/2010/2013and VisualStudio的界

    2022年7月14日
    35
  • 激活成功教程资料大全「建议收藏」

    激活成功教程资料大全「建议收藏」激活成功教程资料大全顶啊!!! DFCG官方论坛http://www.chinadfcg.com/龙族联盟论坛http://www.chinadforce.com/index.php中国狂热激活成功教程联盟-梦想家园社区http://www.5icrack.com/bbs/index.php风飘雪|加密与解密实战攻略|最酷激活成功教程教学,带你轻松进入激活成功教程的殿堂http://www.hx007.com/f

    2022年10月8日
    5
  • [LangChain智能体本质论]三种等效的Agent构建方式

    [LangChain智能体本质论]三种等效的Agent构建方式

    2026年3月12日
    3
  • 振荡周期、时钟周期、机器周期、指令周期的区别与联系[通俗易懂]

    振荡周期、时钟周期、机器周期、指令周期的区别与联系[通俗易懂]以下内容均来自网上查找,并根据个人理解进行整理,刚开始学习单片机,如有不对的地方敬请指正。先给出结论:一个振荡周期=一个时钟周期;一个时钟周期=一个机器周期;一个机器周期=六个状态周期;一个状态周期=两个节拍;一个节拍=一个时钟周期;一个指令周期=N个机器周期;综上:1个指令周期=N个机器周期=6N个状态周期=12N个节拍=12N个时钟周期=12N个振荡周期时钟周期:一个脉冲所需…

    2022年10月13日
    5

发表回复

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

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