西门子SCL高级编程
文章平均质量分 75
本专栏适合初学者学习,能够快速了解SCL编程方法,也会分享工作中的项目案例,和个人经验,我希望可以跟大家相互交流,相互学习,共同进步。
qq_工控_小白
好记性不如烂笔头
展开
-
西门子SCL编程笔记(8)---计数器指令
今天这篇文章我们来谈谈西门子SCL语言中的计数器(Counter)指令。原创 2024-02-23 12:20:04 · 2739 阅读 · 1 评论 -
西门子SCL编程笔记(7)---定时器指令
西门子SCL语言中的定时器指令都是使用IEC定时器,其指令包括:脉冲定时器(TP)、延时接通定时器(TON)、延时断开定时器(TOF)、保持型延时接通定时器(TONR)、复位定时器(RESET_TIMER)及定时器预设值设置(PRESET_TIMER)指令,下面我们来一一介绍。原创 2024-02-23 09:42:56 · 7559 阅读 · 1 评论 -
西门子SCL编程笔记(6)---再谈沿信号检测指令
由于FB有自己的背景数据块,这样,我们可以把沿检测指令需要保存的静态数据存放到FB的背景数据块中,并且可以采用多重背景数据块的方式,来减少程序中需要添加的数据块(DB)的数量。原创 2024-01-25 14:17:29 · 1161 阅读 · 1 评论 -
西门子SCL编程笔记(5)---沿信号检测指令
所谓沿信号,是指信号的一种动态变化,包括上升沿和下降沿两种,上升沿是指信号从无到有,(信号从0变为1)的过程,下降沿是指信号从有到无(信号从1变为0)的过程,这里的信号都是指数字量原创 2024-01-24 11:00:12 · 3098 阅读 · 0 评论 -
西门子SCL编程笔记(4)---语句和结构
该代码使用TMP_COUNTER作为计数变量,其起始值被赋值为1,每执行一次语句TMP_C:=TMP_C+1,TMP_COUNTER的值自动加1,直到其值大于1000跳出循环;如果E_CODE的值等于1,则将TMP_A赋值为1,TMP_B赋值为2;上图中,如果E_CODE的值等于1,则将TMP_A赋值为1,TMP_B赋值为2;该代码将TMP_COUNTER的起始值赋值为1,每执行一次语句TMP_C:=TMP_C+1,TMP_B赋值为2;当E_CODE的值等于1时,将TMP_A赋值为1,TMP_B赋值为2;原创 2024-01-17 13:47:51 · 3710 阅读 · 0 评论 -
西门子SCL编程笔记(2)---变量
在输入(Input)、输出(Output)、输入及输出(InOut)中声明的变量作为函数块(FC)的形参,可以在上级调用中赋予不同的值。是指变量的存在时间。临时变量只在本程序块中有效,它一般用来保存程序运行过程的中间值,当FC的调用结束后,其存储空间被释放。比如,做一个累加器,我们希望其累加的结果在下一次调用时也是存在的,而不是每次都从0开始累加。比如,布尔型数据占用存储区的一个位,而字节型数据占用一个字节,整型数据占用两个字节等等。编程的本质,是通过各种指令,对数据(变量+常量)进行操作的过程。原创 2024-01-15 10:03:40 · 1561 阅读 · 3 评论 -
西门子SCL编程笔记(1)---SCL简介
事实上,西门子SCL语言是基于PASCL语言的,它在PASCL语言的基础上,加上了PLC编程的输入、输出、定时器、计数器、位存储器等特征,使其既具有高级语言的特点,又适合PLC的数据处理。西门子SCL语言支持布尔型、整型、实型等基本数据类型及日期时间、指针、用户自定义数据等复杂数据类型,提供了丰富的运算符可以构建逻辑表达式、数学表达式、关系表达式等各种表达式,提供了判断、选择、循环等语句用于程序控制,同时还提供了基本指令、扩展指令、工艺指令及通信指令等丰富的指令,可以满足所有PLC控制的要求。原创 2024-01-15 09:43:58 · 1038 阅读 · 1 评论 -
西门子SCL编程笔记(3)---表达式
逻辑表达式是将操作数按位(bit)进行逻辑运算,其结果的数据类型取决于操作数的数据类型。逻辑表达式的运算符包括:AND(与)、NOT(非)、OR(或)、XOR(异或)。算术表达式的操作符包括:+(加)、-(减)、*(乘)、/(除)、**(幂运算)、MOD(模运算/求余运算);其中,+(加)、-(减)既可以对整型、实型等数字类型的数据进行运算,也可以对日期、时间等数据类型进行运算。关系表达式的运算符包括:=(等于)、<>(不等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)。原创 2024-01-17 10:54:53 · 820 阅读 · 0 评论