就是在计算机编程中做算法设计时典型的以空间换时间的思想。比如一个字变量,在计算中经常要向双字变量转换,则我们在定义符号时让该变量占据双字的内存空间,将不用的字清零,则可同时以字型或双字型访问该变量而不需要进行专门的转换。
西门子S7-200plc的内存格式与我们常用的PC机正好相反,它是高字在前,低字在后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零(程序的其它地方不得使用这两个字节)。
如我们定义符号时将字变量定义在VW2,同时保持VW0的值为零。则程序中可以用VW2以字型访问该变量,同时也可以VD0以双字型访问,避免了类型转换。
为了避免使用时混淆,最好以明确的符号定义来区分字类型和双字类型。在此强烈推荐类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量名。本人习惯用以下缀:
b----字节型变量(byte)
w----字型变量(word)
d----双字变量(double)
r----实型变量(real)
f----位变量(flag)
btn---自复位按钮式输入(button)
sw----切换开关或自锁按钮输入(switch)
sig---传感器、编码等电平信号输入(signal)
rly---输出继电器位(relay)
……
当然,这个根据个人习惯来,没有定则,主要是利于自己区分。
假如有一个字类型变量名为VarName,为使用前面的转换技巧,我们可以这样定义:
wVarName----VW2
dVarName----VD0
在程序初始化时将VW0清零(如果是不需要记忆的变量,直接将dVarName清零也可)或者在数据块中将VW0设置为零。则以后需要以字类型访问变量时就用wVarName,需要以双字类型访问变量时就用dVarName。完全不需要类型转换。
本方法可以极大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。
缺点是要多占用两字节的内存,以后程序中不能使用VW0。但S7-200的RAM空间很大,一般是用不完的,以226为例,有多达10K的RAM,偶从来没有超过1K。这些RAM都是花钱买来的,不用白不用,不用也是浪费了。
同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。
关键字: 引用地址:西门子S7-200PLC编程的一些小技巧上一篇:PLC的故障维修步骤
下一篇:西门子STEP7编程软件设置组件属性
推荐阅读最新更新时间:2024-08-29 10:16
PLC编程的三大量搞懂就能熟练掌握PLC
PLC中无非就是三大量:开关量、模拟量、脉冲量。只在搞清楚三者之间的关系,你就能熟练的掌握PLC了。 1、 开关量也称逻辑量,指仅有两个取值,0或1、ON或OFF(开关量只有两种状态0/1,包括开入量和开出量,反映的是状态)。它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用。 开关量控制的目的是,根据开关量的当前输入组合与历史的输入顺序,使PLC产生相应的开关量输出,以使系统能按一定的顺序工作。所以,有时也称其为顺序控制。 而顺序控制又分为手动、半自动或自动。而采用的控制原则有分散、集中与混合控制三种。 2、 模拟量是指一些连续变化的物理量(数字量是不连续的。反映的是电量测量数值),如电压、电流
[嵌入式]
浅析S7-200 PLC支持的几种通讯协议
在开始这个问题之前,我们应该了解一个比较容易混淆的问题。 RS485和MODBUS的区别: RS485是一个物理接口,简单的说是硬件。 MODBUS是一种国际标准的通讯协议,用于不同厂商之间的设备交换数据(一般是工业用途);所谓协议,也可以理解为上面有人说的“语言”吧,简单的说是软件。 一般情况下,两台设备通过MODBUS协议传输数据: 最早是用RS232作为硬件接口,(也就是普通电脑上的串行通讯口(串口)); 也有用RS422的,也有常用的RS485,这种接口传输距离远,在一般工业现场用的比较多。 MODBUS协议又分MODBUS RTU,MODBUS ASCII和后来发展的MODBUS TCP三种模式。 其中前两种
[嵌入式]
西门子联手腾讯,共同推动中国低代码行业发展
西门子数字化工业软件与腾讯云近日正式签订合作协议,依托于性能强大、安全且稳定的腾讯云平台与西门子的 Mendix 低代码平台,合力打造综合性解决方案,深度整合双方的先进技术,实现高效、基于云的低代码开发,从而帮助企业快速、安全、灵活地打造个性化的商业应用程序,同时还可兼顾成本效益。以此合作为基,双方将携手推动包括泛互联网、制造、能源和金融等在内的中国产业数字化转型进程。 腾讯副总裁、腾讯云总裁邱跃鹏表示:“基于腾讯云领先的技术实力和丰富的 SaaS 生态,与西门子的合作将助力各行业客户及生态伙伴快速开发,满足其不断增长的软件开发需求。未来,腾讯和西门子将进一步整合双方优势资源,
[物联网]
西门子PLC浮点数程序案例分享
西门子S7-200测试通过,程序网上而来,献给有需要的各位! 一、主程序调用: 64位浮点数保存于VB0开始的存储区中,转换得出的32位浮点数保存于VD100中。 二、子程序符号表: 三、子程序网络1: 1.把双精度浮点数的高16位读取出来; 2.左移1位,右移5位之后取到双精度浮点数的指数部分; 3.双精度浮点数指数减去1023,再加上127得到单精度浮点数的指数部分。 四、子程序网络2: 取出双精度浮点数的高8位。 五、子程序网络3: 双精度浮点数指针后移一个字节。 六、子程序网络4: 左移4位,右移8位得到单精度浮点数的小数部分。 七、子程序网络5: 把单精度浮点数的指数部分加上,右移1位空出符号
[嵌入式]
西门子/元成机械将联合展示制药机械解决方案
制药产业日趋国际化,因应日趋严苛的国际法规,台湾制药商投注于设备升级与制程改善,提升药厂质量规格,积极扩展全球市场。2017台湾生物科技大展(Bio Taiwan Exhibition)将于6月29日至7月2日,至台北南港展览馆盛大展出,西门子(Siemens)与元成机械,也将于4楼摊位N1310携手联合展示制药机械的解决方案,共同树立医药法规的新标竿。 展览会场将展出亚洲区第一台符合TUV SUD ATEX防爆认证的FBDG-30B流动层造粒/微丸包衣机,元成机械使用西门子ET 200SP分布式控制器及SIMATIC HMI Comfort Panel舒适型面板来管理电子纪录与稽核,符合cGMP/FDA 21 CFR Part
[半导体设计/制造]
西门子专家谈:打造工业界的AlphaGo
随着人工智能程序AlphaGo战胜中国的围棋世界冠军柯洁,人工智能越来越受到社会各界的广泛关注。那么人工智能到底能带来什么好处? 西门子 在如何利用人工智能技术?下面由 西门子 中国研究院大数据分析研发总监田鹏伟来解答。下面就随工业控制小编一起来了解一下相关内容吧。 1.为什么最近几年人工智能这么火?人工智能到底能带来什么好处? 人工智能其实已经诞生了很多年,但最近几年数据有了大量的积累,这是实现人工智能的基础。并且我们有了处理大量数据的能力,包括计算能力(比如深度学习),大数据处理的宽带,在数据处理的软硬件方面也有了长足的进步。 人工智能给人们的工作学习带来很多便利,比如视觉、语音的交互,包括未来的自动驾驶
[工业控制]
优傲机器人与西门子PLC携手,开创自动化无缝对接新时代
中国上海,2024年4月25日 一直以来,优傲机器人始终为实现全球企业的自动化,加速推进“任何人在任何地方都能实现自动化”的愿景而不懈努力。 作为全球协作机器人制造商,优傲机器人(以下简称“优傲”)宣布, 其软件平台已成功整合了Standard Robot Command Interface(标准机器人命令接口,以下简称“SRCI”) 。这一创新举措使优傲成为行业内率先提供此功能的协作机器人供应商。 SRCI是机器人制造领域的一个创新标准,它旨在为Programmable logic controller (可编程逻辑控制器,以下简称“PLC”)和机器人之间提供一个统一的接口 。通过将SRCI完全集成UR系列软件,能够
[机器人]
西门子S7-300 PLC与模拟屏串行通信
1 引言 模拟屏能简单、明了地反映现场的实时数据和状态信息,应用十分广泛。为了使现场信息及时、准确、动态地显示在模拟屏上,要求数据采集设备和模拟屏之间进行通信。 现场信息量比较大,如果每个信号都独立连接到模拟屏,信号线数量多、耗线多,不经济,走线不便,故障率高,采用串行通信可克服以上缺点。 现在通信方式多种多样、速度越来越快,但串行通信在控制范畴一直占据着极其重要的地位。它不仅没有因时代的进步而淘汰,反而在规格上越来越完善、应用越来越广,长久不衰。 与并行通信相比,它传输速度慢(并行一次传8位,串行传1位),但并行通信数据电压传输过程中,容易因线路因素使标准电位发生变化(常见的电压衰减、信号间互相串
[嵌入式]
推荐帖子
碎的不是屏,碎的是我的心啊 今天下午又没课,我把昨天炸的4轴修了修又飞了飞,还能飞,爽歪歪啊~----------------------------------------------------------分割线,这并不是重点-----------------------------------------------------------------------完了我就拿着我新买的LOCKLOCK水杯和一本MSP430的书还昨天中午刚拿到的SEED-EXP430F5529头也不回地走向了实验室这条不归路
石玉 TI技术论坛
求高压脉冲发生器 哪位大侠有高压脉冲发生器的原理图,可否给分享一下,谢谢啦。要直流供电的,9V---12V左右。谢谢啦。求高压脉冲发生器高压脉冲的参数?Re:求高压脉冲发生器我的老师叫做的,但什么参数也没给啊。就说要直流9---12V电池供电的。Re:求高压脉冲发生器
fengxin DIY/开源硬件专区
分享购买TI产品的好方法 在项目设计中,因为我们都是直接负责采购器件,所以获得了一些宝贵的经验,现在和大家分享一些。德州仪器的产品质量非常好,但是也存在一个缺点,那就是价格与其它厂家相比,就是贵一些,当你面对不同的需求时,就需要采取不同的策略。1、需求数量在几个的器件:从TI官网申请!零成本购买这种情况在前期项目开发阶段遇到比较多,因为某些器件性能不稳定,需要更好性能的器件,这时候一般会想到TI,就拿电源来说,TI收购了国半后,实力已经超越了凌力尔特,特别是针对低端MCU控制的应用。在高端DSP和FPGA电
qwqwqw2088 模拟与混合信号
大侠急救~ 电动机M1和M2,同时安装在一根轴上,M1让轴旋转,M2让轴前后60度转动大侠急救~引用楼主mmcoop的回复:电动机M1和M2,同时安装在一根轴上,M1让轴旋转,M2让轴前后60度转动 楼主具体是什么问题?你是想设计上面的这种结构还是控制?楼主所说的电动机,是指:伺服电机,还是步进电机?
qiufeng 嵌入式系统
反汇编器 反汇编器快来下啊反汇编器真是好DD,感谢分享!真是好DD,感谢!感谢分享!真是好DD,感谢分享!这个不顶就太不像话了,试试看!下完了,走之前再顶一个!顶,反出来是什么?goodstuff....thx好耶
wu170777 单片机
#以拆会友#电源转换器拆卸对比 自己用单片机做了一个水位仪,需要一个电源转换器,又不想自己做,于是从一堆旧的电源转换器和手机充电器中找了一个原来交换机用的5V电源转换器,电源外壳完整,如下图:为保险起见,通电测量了空载输出电压,不测不知道,一测吓一跳,这个标称5V的电源转换器,空载输出电压竟然超过了10V,就算接上负载后电压肯定会下降,但单片机也不一定经得起这个电压冲击啊。于是决定拆开一看究竟:这个沉甸甸的家伙除了一个不小的变压器外,就剩四个整流二极管和一个滤波电容,毫无稳压装置,真不知道当年是如何在交换机上使用的,
hujj 以拆会友