S 模拟量换算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-200 参数设置:在―系统块‖的―断电数据保持‖中设置 VW1600 以后 2000 个 单元为断电数据保持。
TD400C 参数设置:
TD400C 地址:1
CPU 地址:2
参数块地址:0
波特率:9.6K
HSA:31
GUF:10
键盘声音反馈:开
屏幕保护时间:10 分钟
S7-200 的系统时钟调整为准确的北京时间。 下面先写一下该程序所用到的存储器的意义,以便于理解程序。
模拟量比例换算
因为 A/D(模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU 内部 用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是 模拟量/数值量的换算关系。
例如,使用一个 0 - 20mA 的模拟量信号输入,在 S7-200 CPU 内部,0 - 20mA 对应于数值范围 0 - 32000;对于 4 - 20mA 的信号,对应的内部数值为 6400 - 32000。
如果使用编程软件 Micro/WIN32 中的 PID Wizard(PID 向导)生成 PID 功能 子程序,就不必进行 0 - 20mA 与 4 - 20mA 信号之间的换算,只需进行简单 的设置。
通用比例换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
在网上也曾查阅过,一部分人先用 BTI 指令把这个 BCD 字节转换整数,然后 用 ITA 指令把整数转换为 ASCII 字符串,在画面中嵌入这个 ASCII 字符串用于 显示。
笔者也这样试过一下,可能因为其它问题没有测试成功,而又突然想到——在程 序的多处都需要用到这个实时时钟数据,所以转换为 ASCII 字符以后对程序其 它地方没什么作用。经过考虑,我的转换思想是:先用 BTI 指令把这个 BCD 字 节转换 BCD 整数,然后用 BCDI 指令把 BCD 整数转换为正常的十进制/十六进 制整数,在画面中嵌入这个得到的整数用于显示。在程序的其它地方也可以使用 这些实时时钟变 量。
其中:
Ov: 换算结果 Iv: 换算对象 Osh: 换算结果的高限 Osl: 换算结果的低限 Ish: 换算对象的高限 Isl: 换算对象的低限
它们之间的关系可以图示如下:
图 1. 模拟量比例换算关系
实用指令库 在 Step7 - Micro/WIN Programming Tips(Micro/WIN 编程技巧中)的 Tip38 就是关于如何实现上述转换的例程。 为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的 Micro/WIN 编程软件中应用。
Key = 0; } } 这种方法只能在 KeyPress 事件中,不能在 KeyDown 或 KeyUp 事件中。
第二种方法:调用 API 的方法
不说了看代码吧
void __fastcall TForm1::FormShow(TObject *Sender) {
//控制 Edit2 只能输入数字 SetWindowLong(Edit2->Handle, GWL_STYLE, GetWindowLong(Edit2->Handle,GWL_STYLE)|ES_NUMBER); }
或许朋友们有更好的方法,请告诉我。
发贴者 Memory Of Heart 时间: 下午 4:16 0 评论
[收藏]成功走上管理岗位的 11 个技巧
成功走上管理岗位的 11 个技巧
能够帮助经理人"有所不为"的管理与领导技巧数不胜数,不过,本书精选的其 中一些方法,能帮助他们更快地完成从一味地"执行"到侧重"管理"与"领导"的转 变,是被实践证明了的很好的管理方法。我把这些关键的管理与领导技能称为" 黄金技能",它们分别是:

因为考虑到编程中可能会用到一些中间存储器,所以在 TD400C 中定义存储器 时留了余量,每两个存储器之间都有 1 个字的存储器留作备用。 根据相关技 术要求,先组态 TD400C 画面,达到预期目的。
―工具‖——―文本显示向导‖,先配置 TD400C:
然后点击―用户菜单‖,配置用户菜单。因为该工程的界面要求很简单,所以每个 菜单项只配置了 1 个屏幕(最多可以配置 8 个屏幕)。
如果有两个传感器,量程都是 0 - 16MPa,但是一个是 0 - 20mA 输出,另一 个是 4 - 20mA 输出。它们在相同的压力下,变送的模拟量电流大小不同, 在 S7-200 内部的数值表示也不同。显然两者之间存在比例换算关系。模拟 量输出的情况也大致相同。
上面谈到的是 0 - 20mA 与 4 - 20mA 之间换算关系,但模拟量转换的目的显 然不是在 S7-200 CPU 中得到一个 0 - 32000 之类的数值;对于编程和操作 人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量 占量程的百分比数值要更方便,这是换算的最终目标。
第 3 个屏幕:
第 4 个屏幕:
第 5 个屏幕:
第 6 个屏幕:
பைடு நூலகம்
第 7 个屏幕:
第 8 个屏幕:
下面是主程序部分: 首先在主程序中调用子程序:
子程序:
下面是
先调用 TD 向导生成的子程序:
TODR 指令读到的实时时钟是 BCD 字节,要想把这个 BCD 字节显示出来, 需要进行转换。
在这个指令库中,子程序 Scale_I_to_R 可用来进行模拟量输入到 S7-200 内 部数据的转换;子程序 Scale_R_I 可用于内部数据到模拟量输出的转换。 其中 scale_I_R 程序段例:
将 4 - 20mA 模拟量输入转换为内部百 将内部百分比值转换为 4 - 20mA 模拟
分比值
下面是该工程的 TD400C 显示画面:
发贴者 Memory Of Heart 时间: 下午 2:39 0 评论 2009 年 10 月 19 日 星期一
bcb 中控制 Edit 控件只输入数字
在 BCB 中控制 Edit 控件的输入是件很麻烦的事,在这一点上 BCB 做的没有 VC 好。但是既然做为 程序员,那就没有什么可以被难倒的。我们可以采取自己写代码控制的方法来实现对其的控制。 这里只说两种简单的方法,抛砖引玉吧。
・拓展下属的工作能力,包括给他们提供培训和授权。
・积极主动地倾听员工的心声。
・给予并接受员工的反馈。
・激励团队成员。
另一种成功走上管理岗位的方法是,学会享受管理工作的乐趣,享受你能对 其他人施加的积极影响。为什么不最大限度地发挥管理者的作用呢?很多"意外型 经理人"都发现,当他们开始享受工作的乐趣,并意识到管理工作的重要性时, 所有的问题都不存在了。有过这种经历的经理人告诉我,这种体验使他们的工作 变得更轻松、压力更小了,以出乎自己意料的速度很快作出了成果。下面,我将 与大家分享这些技巧,它们曾帮助很多"意外型经理人"成长为成功的经理人。
第一种:控制事件方法
在 Edit 控件的 KeyPress 事件中控制输入的 Key,把不需要的 Key 设置成 0,就 OK 了。例如:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) {
//控制 Edit1 只能输入数字 if ( (Key<'0'||Key>'9') && (Key != '\b') ) {
2.尝试新事物。
成功的经理人勇于尝试自己从未想过的新生事物,敢于去做其他的经理人从 未做过的事情。举个例子,在华盛顿某个政府部门任职的一位经理人告诉我,她 准备在今后每次会议开始前,给大家讲一则与管理有关的笑话(当然,一定是非
常有意思的笑话)。这种做法与众不同,很快就帮助她增强了与员工的亲密关系。 尝试新事物帮助这位经理人快速达到了自己的目标。
文本显示器:TD400C;订货号 6AV6 6640-0AA00-0AX0;自带 9 芯 TD/CPU 电缆;版本:1.0.0.3。
S7 -200 与 TD400C 通过 TD400C 随机配置的 TD/CPU 通信电缆连接,实现 电源供给和通信(因为当 TD400C 与 S7-200 CPU 之间的距离小于 2.5 米时,采用 TD/CPU 电缆的方式进行供电;当 TD400C 与 S7-200 CPU 之间的距离超过 2.5 米时,使用外部电源供电并使用 PROFIBUS 组件连接网络)。 系统软件配置如下:
帖子里笔者给出一个已经应用于工程上的程序例子,并作出详细分析,希望对关 心这个问题的朋友有些帮助。
这个程序是 S7200+TD400C 显示系统时间、当班运行时间、累计运行时间的 例子。
以下是 s7-200 S7200+TD400C 显示系统时间、运行时间的程序详解:
系统硬件配置如下:
PLC:西门子 S7-200 CN;CPU 226 CN REL 02.01;AC100~230V 电源/DC24V 输入/继电器输出;订货号 6ES7 216-2BD23-0XB8;固件 02.01 Build 2;ASIC:01.00。
第 1 个屏幕:
该屏幕中的第 1 个数据(这里的数据排列顺序为:先按第 1 排从左至右、 再按第 2 排从左至右的顺序依次排列,下同):
因为版面的问题,该屏幕的其它 PLC 数据和其它屏幕中的 PLC 数据就不一 一列举了。这些数据都是 VW、无符号数类型,具体对应情况请参阅 3 楼说 明。 第 2 个屏幕:
3.自我激励。
成功的经理人会告诉自己,最近哪些工作做得特别出色,在哪些方面又取得 了进步,以及克服了哪些困难。他们经常与内心的自己展开积极的对话,自己祝 贺自己。他们认识到,其他人不可能给予他们所需要的积极反馈。因此,他们自 己行动,学会了自我激励。他们是非常自信的一群人。
4.使目标可视化。
成功的经理人对于自己想要达成的目标有着清楚的认识(比如,与每个下属 建立良好的合作关系、让每个员工工作效率更高),并在脑海中不断加深对成功 图景的印象,直到它已成为他们衡量自己及自身行动的一种标准。脑海中美妙的 可视化图景能帮助他们取得难以置信的积极成果。
本班运行时间:小时 VW1600、分钟 VW1604、秒 VW1608; 累计运行时间:小时 VW1620、分钟 VW1624、秒 VW1628; 系统时间(BCD 码字节):年 VB2000、月 VB2001、日 VB2002、小时 VB2003、 分钟 VB2004、秒 VB2005、星期 VB2007; 系统时间(整数): 年 VW1644、月 VW1648、日 VW1652、小时 VW1656、 分钟 VW1660、秒 VW1664; 本班设备开始运行时间:小时 VW1680、分钟 VW1684、秒 VW1688; 本班设备最后运行时间:小时 VW1700、分钟 VW1704、秒 VW1708; 上班时间设置:小时 VW1720、分钟 VW1724; 下班时间设置:小时 VW1740、分钟 VW1744; 本班运行时间复位:VW1760; 本班运行时间被复位的时间:年 VW1764、月 VW1768、日 VW1772、小时 VW1776、分钟 VW1780; 累计运行时间复位:VW1800; 累计运行时间被复位的时间:年 VW1804、月 VW1808、日 VW1812、小时 VW1816、分钟 VW1820; EEPROM 写入次数:VW3558
量输出
对于精度要求不高的地方,4-20ma 转换成 0-20ma 可按比例计算 公式 =((ai-4)/16)*20 其程序段实例:
发贴者 Memory Of Heart 时间: 下午 3:54 0 评论
S7-200 +TD400C 显示系统时间、运行时间的程序
看见论坛上有些朋友对西门子 TD 文本显示器显示时钟的问题比较关心,在这个
1.不找借口。
成功的经理人知道应该停止抱怨,停止抱怨公司或上层主管把自己安排到管 理岗位上;也不会因为自己还没有准备好,或不善于做管理而自怨自艾;同时也接 受下属员工有可能对管理者怨声载道的事实。他们把所有的精力都放在管理工作 中,一旦他们做到了这些,工作就将变得充满挑战和乐趣。成功的经理人都不愿 把创造力和精力浪费在给自己找借口上。
相关文档
最新文档