在西门子s7 300视频 S7 300 中 FB58 ...

s7-300 变量查找问题_百度知道
s7-300 变量查找问题
DB1.DBD12。实数是不会分开用的,因为分开用意义不明确。你搜这个:DB1.DBD12。M14.0这个打开交叉参考看一下,是个整体用的还是离散用的。能看出来用的是位,还是W,还是B。有的人喜欢用设备状态生成一个状态字MW14,生成方法,调用带接口的FC,输出就一个MW14。然后控制设备时用M14.0,M14.1等来做连锁条件。如果这样,每一位的含义你就不知道了。M这个能在交叉参考里面看到是怎么用的。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
| 新手必读 |
You are here:
咱工程师的故事&
行业或应用分类
服务合作伙伴专区
热点活动:
【公告】【公告】【公告】【公告】
来自西门子现场的工程师的出差报告
作者/最新回复
上一页1下一页
您好,您当前尚未登录,点击或查看更多内容
欢迎您来到技术论坛
在这里,可以将您的话题分享给大家。“发帖”即可与全国各地的自动化技术工程师进行最直接的交流、分享与学习。
看到您感兴趣的帖子,记得“回复”您的观点哦。
一个主题每人多次发言,适合过程的探讨与分享。
这里有西门子工控产品的探讨精华,有宝贵的经验分享。
点击精华帖列表,一览无余!
当您在项目中遇到疑难问题,
记得来这里获得众多资深用户的帮助与指导。
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!每日登录:+1西币&+1积分
&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
| 新手必读 |
You are here:
s7-300/400程序最优
手机登录找答案
热点活动:
s7-300/400程序最优 - 已解决问题
如何使自己编写的程序最优,一般需要注意些什么,使用的指令方面什么样的指令执行起来速度相对比较慢,请尽量详细
产品版区:
悬赏分:50 | 解决时间: 17:11:53 | 提问者: -
问题ID:60855
1、设计好语句结构2、查看各个指令的执行时间,尽量少用或不用除法,尽量自己编程程序块,少用系统自带的程序块&a、编程技巧&1、&&&程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;&2、&&&如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;&3、&&&对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的最大值;&4、&&&程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;&5、&&&定期做程序备份,最好以工程名称+系统名称+当天日期;&6、&&&程序加密,防止别人窃取。
参考资料:/lghxp2005/blog/item/6efd7.html
提问者对于答案的评价:xiexie
更多相关问题
本版精华问答
等待您来回答
作者/最新回复
最后回复时间
详见S7-300/400&PLC编程规范(转载):连接
& 20:25:06
IEC&61131是PLC的国际标准,年发布了IEC&61131标准中的1~4部分,我国在1995年11月发布了GB/T&/3/4(相当于IEC&/3/4)。&IEC&61131-3广泛地应用PLC、DCS和工控机、“软件PLC”、数控系统、RTU等产品。&定义了5种编程语言&1)&指令表IL(Instruction&list):西门子称为语句表STL。&2)&结构文本ST(Structured&text):西门子称为结构化控制语言(SCL)。&3)&梯形图LD(Ladder&diagram):西门子简称为LAD。&4)&功能块图FBD&(Function&block&diagram)。&5)&顺序功能图SFC(Sequential&function&chart):对应于西门子的S7&Graph。&STEP&7中的编程语言&梯形图、语句表和功能块图是3种基本编程语言,可以相互转换。&1.顺序功能图(SFC)&:STEP&7中的S7&Graph&2.梯形图(LAD)&直观易懂,适合于数字量逻辑控制。“能流”(Power&flow)与程序执行的方向。&3.&语句表(STL):功能比梯形图或功能块图强。&4.功能块图(FBD):“LOGO!”系列微型PLC使用功能块图编程。&5.结构文本(ST):STEP&7的S7&SCL(结构化控制语言)符合EN&61131-3标准。&SCL适合于复杂的公式计算、复杂的计算任务和最优化算法,或管理大量的数据等。&6.S7&HiGraph&编程语言&图形编程语言S7&HiGraph&属于可选软件包,它用状态图(state&graphs)来描述异步、非顺序过程的编程语言。&7.S7&CFC&编程语言&可选软件包CFC(Continuous&Function&Chart,连续功能图)用图形方式连接程序库中以块的形式提供的各种功能。&8.编程语言的相互转换与选用&在STEP&7编程软件中,如果程序块没有错误,并且被正确地划分为网络,在梯形图、功能块图和语句表之间可以转换。如果部分网络不能转换,则用语句表表示。&语句表可供喜欢用汇编语言编程的用户使用。语句表的输入快,可以在每条语句后面加上注释。设计高级应用程序时建议使用语句表。&梯形图适合于熟悉继电器电路的人员使用。设计复杂的触点电路时最好用梯形图。&功能块图适合于熟悉数字电路的人使用。&S7&SCL编程语言适合于熟悉高级编程语言(例如PASCAL或C语言)的人使用。&S7&Graph、HiGraph和CFC可供有技术背景,但是没有PLC&编程经验的用户使用。S7&Graph对顺序控制过程的编程非常方便,HiGraph适合于异步非顺序过程的编程,CFC适合于连续过程控制的编程。&1、梯形图&LAD梯形图与继电器电路图很相似,具有直观易懂的优点,很容易被工厂熟悉继电器控制的电气人员掌握,特别适合于数质量逻辑控制。2、语句表STL类似于微机的汇编语言,如果你学过单片机,学起STL来应该很方便。STL比较适合经验丰富的程序员使用,可以实现某些不能用梯形图或功能图表示的功能。但缺点是程序可读性差,维护起来很不方便。3、功能图FBDFBD使用类似于布尔代数的图形逻辑符号来表示控制逻辑。&有数字电路基础的人很容易掌握。西门子公司的“LOGO!&系列微机PLC使用功能图编程,除此之外,我看国内很少有人使用功能图语言。4、结构化语言SCLSCL是西门子公司根据IEC61131-3标准创建的一种高级编程语言。它能实现复杂的数学运算。编写的程序非常简洁和紧凑。SCL与编程语言Pascal和C语言相似,特别适合于习惯使用高级编程语言的人使用。SCL适合于复杂的公式计算和最优化算法,或管理大量的数据等。因为现代控制技术越来越多地与数学发生关系,优化设计也成为了自控人必须考虑的问题,所以SCL的优势也就越来越明显。5、顺序功能图S7-GraphS7-Graph具有丰富的图形、窗口和缩放功能。&用S7-Graph表达复杂的顺序控制过程非常清晰,用于编程及故障诊断更为有效,使PLC程序的结构更加易读。S7-Graph特别适用于工厂生产控制过程。6、S7-HiGraph用的人也很少。S7-HiGraph用类似于语句表的语言描述指定给状态的动作和状态之间的转换条件。7、S7-CFC不需要用户掌握详细的编程知识以及PLC的专门知识,只需要具有行业所必需的工艺技术方面的知识,就可以用CFC来编程。
& 21:30:32
S7-300/400&PLC编程规范(转载)日&星期四&20:54所属类别:&SIEMENS&更新日期:&08-12-30&发表来源:&PLANT&详情内容:&关于统一PLC编程标准几点说明&为了PLC程序可读性强,短期内可以读懂并且能够修改,在PLC工作组内部需要统一我们的编程标准,以便适应将来工程人员调动后,原来的程序能够被后来的人在短期内读懂,现统一标准如下:&一、程序结构&1、&&&程序结构统一&OB1:主程序;&OB100:初始化程序(无需主程序调用);&OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块;&OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程);&FC1:系统模式;&FC2:输入处理;&FC3:输出处理;&FC4:运行处理;&FC5:停止处理;&FC6:手自动切换;&FC7:&。。。&。。。&FC100:之后用来建立一些可以循环调用的子程序;&FC105:系统自带,模拟量输入子程序(可以循环调用);&FC106:系统自带,模拟量输出子程序(可以循环调用);&modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;&通讯CP340:FB2:P_RCV,FB3:P_SND;&一般PID:用FB41;&温、湿度PID:用FB58;&如果程序块与系统块重复,请避让。&2、&&&数据块&DB1:AI数据,类型:REAL,与上位机接口;&DB2:AO数据,类型:REAL,与上位机接口;&DB3:DI数据,类型:BOOL,与上位机接口;&DB4:DO数据,类型:BOOL,与上位机接口;&DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;&DB6:报警消息,类型:BOOL,与上位机接口;&DB7:类型:REAL,中间寄存器;&DB8:类型:INT,中间寄存器;&DB9:类型:WORD,中间寄存器;&DB10:类型:BOOL,中间寄存器;&DB11:之后用作与设备通讯用,例如:MODBUS通讯等;&DB100:之后用作调用FB块时的背景数据块;&M区:也作为中间变量。&3、&&&DP从站故障诊断&DP从站必须做故障诊断,故障报警,用FB125即可。&二、控制模式&1、&&&系统设置远程/本地/手动按钮&1.1、&&&&&&&&&远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;&1.2、&&&&&&&&&本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;&1.3、&&&&&&&&&手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。&2、&&&单台设备控制&单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。&3、&&&单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;&三、编程技巧&1、&&&程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;&2、&&&如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;&3、&&&对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的最大值;&4、&&&程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;&5、&&&定期做程序备份,最好以工程名称+系统名称+当天日期;&6、&&&程序加密,防止别人窃取。&
& 21:41:12
用语句表STL编程最优。
& 23:08:38
没有最优,只有更优;何谓优;执行周期短就是优吗?我以为方便调试才为优;每个人的标准也不尽相同;
& 07:26:07
1、设计好语句结构2、查看各个指令的执行时间,尽量少用或不用除法,尽量自己编程程序块,少用系统自带的程序块
& 09:00:49
你的这个题目范围太广,真不知该从何下手,这里就简单谈谈自己的体会:如何使自己编写的程序最优,这取决于你对STEP7软件的指令熟悉程度、自己的编程经验以及对要实现的项目了解程度;软件编写没有最好,只有更好,需要根据设备运行情况及出现的问题进行反复修改,没有一个人就一次编程就能实现要达到最优化功能,就像STEP7&V5.4&SP1已经补丁到SP5,程序是一个逐渐完善的过程,不可能一蹴而就,必须在实践中摸索,虚心向经验丰富的编程高手学习,其中西门子网站就提供了大家交流的平台;一般在编程之前,要根据你要实现的控制任务,确定你的硬件配置,如选取相应的CPU和电源模块,根据系统输入、输出信号的性质、点数及对控制系统的要求确定信号模块,功能模块和通信处理器以及模块数,并适当考虑余量;确定好硬件模块后,在SIMATIC中完成硬件组态,编译并保存及下载到PLC中;然后编辑用户程序,首先要选择编程语言,如果你熟悉继电器电路,你可以使用梯形图LAD编程,如果你对计算机汇编语言比较熟悉,首选语句表STL,它比较灵活,可以实现LAD不能实现的功能,但要记指令集;接下来就要选择程序设计方法,如果你的控制系统比较简单,你可以把整个控制系统的控制程序放在OB1(主循环控制组织快)中,由于不涉及功能、功能块、数据块、局部变量和中断,程序结构简单,但CPU执行效率低;如果要想提高CPU的指令执行效率,就要选模块化编程,程序被分成不同的逻辑快,每个快包含了完成控制任务所需的逻辑指令。OB1中的指令决定何时调用哪一个快,FC和FB(子程序)用来完成不同的任何,被调用的快执行完后,返回OB1的调用点,继续执行OB1,所以指令执行效率高;你也可以选择结构化编程,它将控制过程中类似或相关的任务归类,编写通用的快,具有很高的编程和调试效率,适合于复杂的控制;由于各个编程人员经验习惯不同,同样的控制过程,不同的人编写的程序是不相同的,有的程序比较简化,但有的比较复杂,所以撇开具体的程序谈指令执行起来速度快慢不好说,比如我调试的德国设备PLC用LAD编程,而瑞士的设备接用STL编程,是无法比较比较的
& 16:41:16
上一页1下一页&
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
欢迎您来到找答案
在“找答案”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到答案!
遇到了问题,就来“找答案”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找答案”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找答案”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!S7-300如何通过GSD文件实现PROFIBUS DP主从通讯
查看: 1196|
摘要: SIMATIC NET OPC服务器常作为SIMATIC PLC与第三方上位机通讯的中介。在TDC系统中调用相应的功能块,也可以实现SIMATIC TDC 与 OPC的通讯,为上位机提供更灵活的访问TDC的方式。本文简要的介绍了建立 TDC 与OPC Ether ...
SIMATIC NET OPC服务器常作为SIMATIC 与第三方上位机通讯的中介。在TDC系统中调用相应的功能块,也可以实现SIMATIC TDC 与 OPC的通讯,为上位机提供更灵活的访问TDC的方式。本文简要的介绍了建立 TDC 与OPC Ethernet通讯的方法与步骤。
1. 建立TDC与OPC的S7连接
1.1 TDC的软硬件配置
建立基于以太网的S7通讯,需要为TDC系统配置以太网通讯模块CP51M1(6DD),并调用TCP/IP初始化功能块。
图1 组态TDC并配置CP51M1
CP51M1的IP地址通常与PC站网卡处于同一网段,如:CP51M1:192.168.0.220;PC站网卡:192.168.0.24。
图2 TCP/IP初始化
“@TCP/IP”用来建立TCP/IP通讯耦合,并且必须在大于等于32ms并小于等于256ms的循环周期中调用。建立S7通讯之前必须调用“S7CON”块,初始化S7应用层服务。
图3 S7服务初始化
同样“S7CON”块也必须在大于等于32ms并小于等于256ms的循环周期中调用。其中主要参数的含义为:“US”:格式为 最多6个字符的通道名称. CPU槽号,如“yyu.01”。“TNR”:S7 TSAP号,默认为3。“NOS”:通讯设备的个数(与TDC通讯的OPC服务器的个数)。“TLD”:通讯报文格式,默认为0,最大通讯字节240。
TDC为OPC服务器提供可供访问的DB块,调用“S7DB_P”建立DB1,并为DB1赋值
图4 S7服务初始化
其中“S7DB_P”主要参数的含义为:“LEN”:DB块长度。“NBF”:DB块缓冲区个数,一般设为1。“BSL”:选择缓冲区,一般设为1。“SAV”:DB是否存储在SAV区域。“S7DB_P”功能块只是开辟了通讯的数据存储区,如果要对存储区的数据进行读写操作,就需要调用读写功能块。本文中所示的例子程序使用“Read INT”读取整数数据,“Write IN”写入整数数据。其中“Read INT”及“Write IN”主要参数的含义为:“OFF1”和“OFF2”:读写数据在数据存储区内的偏移量。如两参数之和为零,存取存储区内的第一个整数;两参数之和为2,存取存储区内的的第二个整数,以此类推。“SWP”:用来设定是否交换高低字节,此处设为1。读取或写入其它类型数据的方法与本例相同,只是调用的读写功能块稍有不同,本文不再详述。
1.2 PC站及OPC的组态组态PC站,并建立与TDC的S7连接。
图5 组态PC站
图6 建立S7连接
图中的“Partner”的Rack/Slot指TDC的机架号与槽号,Connection Resource为连接资源号,“Local”为10,“Partner”为3。具体含义见下表
表1 S7连接资源
然后就可以通过OPC Scout来测试OPC服务器是否能正常通讯。
图7 测试S7连接
由于OPC Scout不能直接浏览到TDC的DB1,需要手动输入存取地址。如果S7连接名称是“S7_Connection_1”,存取地址“S7:[ S7_Connection_1]db1.int0代表DB块中的第1个16位整数。
2. 建立TDC与OPC的TCP连接
2.1 在TDC中调用发送和接收功能块
图8 发送功能块
其中“CTV_P”主要参数的含义为:“AT”:通道参数,如“CT.T-02001”,其中“CT”为用户定义的通道名称,“2001”为TCP通讯的本地端口号。“MOD”:通讯模式,对于TCP通讯,一般设为“H”。“EN”:发送势能,设为1。“NBY”:发送的字节长度。
图9 接收功能块
“CRV_P”功能块比“CTV_P”功能块多一个参数,设为1000ms,其它参数含义相同。
2.2 为PC站组态TCP连接
图10 建立TCP连接并设置地址、端口
图11 设置发送接收字节
“Send buffer size”等于“CRV_P”的“NBY”参数值。“Receive buffer size”等于“CTV_P”的“NBY”参数值。通过OPC测试建立的TCP连接。
图12 测试TCP连接
上一篇:下一篇:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:西门子STEP7常用功能块说明【工控老鬼】
1. SFB0 "CTU" SFB1 "CTD" SFB2 "CTUD" SFB4 "TON" SFB5
兼容IEC61131-3的计数和计时功能块&
SFB41 "CONT_C" SFB42 "CONT_S" SFB43 "PULSEGEN"
用于PID控制
43---用于将一个模拟量转化为与之对应的周期性开关量脉冲信号,该脉冲的
占空比与模拟量的数值大小成正比.&
SFC0 "SET_CLK" SFC1 "READ_CLK"
用于读写PLC中的系统时间&
SFC14 "DPRD_DAT" SFC15 "DPWR_DAT"&
用于读写DP从站中的一致性数据 如:读写用DP通讯的变频器中的控制字&
SFC20 "BLKMOV" SFC21 "FILL"
块拷贝,块填充&
SFC46 "STP" SFC47 "WAIT"
使PLC进入STOP状态,挺有用的:可以当软件陷阱,或利用上位控制PLC停机&
SFC60 "GD_SND" SFC61 "GD_RCV"
MPI的GD通讯&
8.IEC Function Blocks
"LIMIT" FC25 "MAX" FC27 "MIN"
---限幅输出
FC25,FC27 --- 3个数比大小
9.PID Control Blocks
FB41/42/43 同 SFB41 "CONT_C" SFB42 "CONT_S" SFB43 "PULSEGEN"
"TCON_CP" FB59 "TCONT_S" 用于温度控制PID&
10.Ti-S7 Converting Blocks
FC105 "SCALE" FC106 "UNSCALE"
模拟量输入输出的比例和数据类型转换
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
启程培训中心&
工控老鬼技术Blog:&
执着坚守,坚韧笃定,专注于工业自动化技术的传播和推广以及&&&&&&&&&&&&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 s7 graph v53 sp6 的文章

 

随机推荐