| 作者 | 主题 |
|---|---|
|
万泉河 至圣
经验值:29190 发帖数:10900 精华帖:131 |
楼主
主题:STEP7符号寻址编程
现在有项目,只有点数清单,没有I/O地址,如何用符号方式直接先把编程做起来,有哪位有经验吗?
然后还有WINCC。
微信公众号:PLC标准化编程,ZHO6371995
|
|
n次看你的背影 奇侠 经验值:7974 发帖数:2321 精华帖:73 |
4楼
主题:回复:STEP7符号寻址编程
以前做过类似的事情:在S7里,一开始先搭建好主程序的结构,然后定义几个“模糊”符号。比如bool类型的变量将M100.0定义为“NOBIT”、byte类型变量将MB101定义成“NOBYTE”、word类型变量将MW102定义成“NOWORD”、DOUBLEWORD(Float)类型变量将MD104定义成“NODWORD”;因为在子程序中调用FC、FB时无非是将实参赋给形参。有了绝对地址后在excel中做好符号表导入S7,再用相应的真实符号替代“模糊”符号。不过wincc我没有做过,还望广大坛友赐教!
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
|
|
明天 侠客 经验值:944 发帖数:211 精华帖:3 |
7楼
主题:回复:STEP7符号寻址编程
这个问题我也遇到过,我使用的处理方式:
输入刷新 DI,AI--->中间变量 程序1 程序2 。。。。 输出刷新 中间变量-->DO,AO 说明:所有的输入变量先赋值给中间变量,程序使用的输入外部点都是连接这个中间变量;输出也一样,程序先赋值给中间变量,在程序的最后再将中间变量赋值给外部DO ,AO; 有2个好处,第一就行楼主这个问题,第二就是调试很方便,先把外部变量甩开;09年开始的所以PLC项目我都采用这个结构,个人感觉很方便; |
|
eaglesky 侠圣 经验值:2989 发帖数:660 精华帖:22 |
10楼
主题:回复:STEP7符号寻址编程
个人经验:
1.STEP7的BLOCKS的属性中Object Properties中的地址优先级中选择符号优先,建立好符号表后就可以编程了。这种情况下符号不变,修改地址后,FC、FB等只需要重新打开一次确认一下,软件自动识别一次即可。以后也可以随时改。 2.建立中转变量。比如在M区建立地址表,程序中全部使用M区作为I/O来编程,将来再建立功能块将实际I/O与M区对应赋值。但是有个问题是对PIW/PQW来说不太合适。 WinCC不知道怎么处理好,要是我的话就只做画面,等有了地址后再连接变量,或者是建立变量的时候地址随便写,等将来有了具体地址通过EXCEL编辑后将正确的变量覆盖导入。
没有个性的签名就别签了。
|
|
我心依旧555 奇侠 经验值:6657 发帖数:769 精华帖:9 |
11楼
主题:回复:STEP7符号寻址编程
为其分配一块全局变量区域,用于状态交换,同时通过参数逻辑与和逻辑异或控制状态的有效及信号的翻转。
尽量使用块编程,功能上可多次调用,内部使用局部变量或静态全局变量。地址分配好后在功能或功能块上直接填参数。
一切皆有可能
|
|
姑苏城外 侠圣 经验值:3598 发帖数:1466 精华帖:19 |
12楼
主题:回复:STEP7符号寻址编程quote:以下是引用n次看你的背影在2011-07-08 22:10:57的发言: FB相对FC的有它的背景数据块,所有的IO都在背景数据块里,以最常用的启停回路为例:“姑苏城外”大侠!能否详细叙述一下您的思路,让我辈也学习一下!望大侠不吝赐教! 建立如上FB块时,编程初期可以不填写具体IO地址,HMI可以直接访问IDB的DBX0.0(启动按钮)/0.1(停止按钮)/2.0(马达输出),后期地址规划好后再填入就可以了. 缺点就是要求CPU性能足够,比使用FC占用更多的存储容量.
与人规矩,不与人巧!
|
|
我心依旧555 奇侠 经验值:6657 发帖数:769 精华帖:9 |
30楼
主题:回复:STEP7符号寻址编程
可以确认的是FC内OUT参数是不能自锁的(FB与FC有时的互换性受影响)。
在FB内未做过相关试验,下面的话纯属推论。 如果程序真如下 2. A M0.0 = DB2.DBX0.0 A M0.1 = DB2.DBX0.1 A( O DB2.DBX0.0 O DB2.DBX2.0 //跟输出实参M0.2的状态没有关系. ) AN DB2.DBX0.1 = DB2.DBX2.0 A DB2.DBX2.0 = M0.2 在DB2.DBX2.0运行中为1,并突然断电,上电之后又未做相关的初始化时,DB2.DBX2.0是否还为1。如果为1程序的安全性是否会受影响的 若然如此,程序会多一控制旁路。
一切皆有可能
|