首页编程语言c语言编程四则运算计算器

c语言编程四则运算计算器

cysgjjcysgjj时间2024-05-16 16:20:04分类编程语言浏览36
导读:plc中四则运算怎么实现?plc中四则运算怎么实现?四则运算是任何PLC中都存在的最基础的编程指令,但是通常将指令块分为整数指令和浮点数指令,比如像西门子200系列PLC中和300/400系列使用STEP7软件时候,都是有整数的加减乘除指令以及实数的加减乘除指令,且整数还分为16位整数和32位的常整数,如下图:这个图片是西门子300P……...
  1. plc中四则运算怎么实现?

plc中四则运算怎么实现

四则运算是任何PLC中都存在的最基础编程指令但是通常将指令块分为整数指令和浮点数指令,比如像西门子200系列PLC中和300/400系列使用STEP7软件时候,都是有整数的加减乘除指令以及实数的加减乘除指令,且整数还分为16位整数和32位的常整数,如下图

这个图片是西门子300PLC中指令树中的整数和浮点数指令,可以看到我标示了红色线框①处就是16位整数的加减乘除指令,蓝色线框②处就双整数即32位整数的加减乘除指令,这些都是在整数函数中。而紫色线框③处是在浮点数函数下的加减乘除指令。

再来看一下,西门子STEP7软件中加减乘除指令的编程监控图:

c语言编程四则运算计算器
(图片来源网络,侵删)

这个图片上,add是加法,sub是减法,mul是乘法,div是除法。

程序段1的是16位整数的加减乘除指令,可以看到我给值的地址都是MW,即字长的变量。最后333÷2=MW22=166。

程序段2是浮点数的加减乘除指令,也就是实数的加减乘除指令,在STEP7软件中只有32位的浮点数,而在博途软件中数据格式就多出来很多,大家注意就是!这32位的浮点数和32位的双整数都要使用MD这样的变量。

c语言编程四则运算计算器
(图片来源网络,侵删)

ADD_DI,SUB_DI这些就是32位长整数指令,这些也要用MD这种的32位长度变量。如程序段2中最后的DIV_R指令处333÷2=MD84=166.5,所以实数就显示了小数点,而整数指令则是进行了取整的!

加减乘除指令很简单,还需要提一点的是,我这里是为了答题方便,就使用的是MW2,MD40这样的变量,在实际编程中还是多使用DB区域比较好,比如DB1.DBW2,DB20.DBD40这样。

plc中四则运算怎么现实,这个应该不是很难根据编程手册中的基本指令即可完成。这里面需要注意几个问题,对于使用三菱plc的编程者来说,有整型的还有浮点型的四则运算,指令是不一样的。

c语言编程四则运算计算器
(图片来源网络,侵删)

整数的四则运算加减乘除分16位和32位的数据,在程序编制时一定要注意数据寄存器不能覆盖就是不能用重复的D进行,同时在进行32位的运算时会自动占取高位数据,在字软元件的指定中,是指定低16位一侧的软元件,其后连续编号的软元件则成为高位侧,为了编号不重复,建议指定软元件为偶数编号。另外对于源操作数和目标操作数中指定为同一字软元件的,如使用连续执行型的指令(ADD、DADD),则每个运算周期加法运算的结果都会变化,如下图的监控程序:

我们在进行加法运算时,X0闭合进行加1,如果我们要求闭合一次加1,就要***用脉冲执行型指令,或者X0上升沿进行加法,如果使用了连续执行指令那么在plc的每个周期都会加1结果就不正确了。这里我们需要注意下

另外,我们还可以监控特殊寄存器开观察标志位的动作及数值的正负的关系,如下面的表格和示意图,

对于浮点数四则运算,没有16位的指令,指定了常数的会自动转换为浮点,浮点数用E开头表示,如下图的程序演示:

在plc的数据中默认的都是整型,如果要参数浮点数的四则运算,首先使用FLT指令把数据转换成浮点数,对于常数可以直接输入,最后根据需要再转换成整数。

以上就是plc有关四则运算实现的方法和需要注意的地方,希望能帮到你!

梯形图,调函数

加:add,dadd,daddr

减:sub,dsub,dsubr

乘:mul,dmul,dmulr

除:div,ddiv,ddivr

ST:

+,-,*,/。

一、 实例

控制程序中要进行以下算式的运算: 38X/255+2

式中“ X ”代表输入端口 K2X0 送入的二进制数,运算结果需送输出口 K2Y0 ;X020 为起停开关。

二、 怎样用四则运算指令来实现上述功能

三、 PLC 硬件的实现

1 、 I/O 的分配

输入 功能说明 输出 功能说明

K2X0 X0 二进制数输入 K2Y0 Y0 二进制数输出

X1 Y1

X2 Y2

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/13250.html

指令整数加减乘除
科技创新与国家地位 java编程语言第三版电子版