王小鸭请sun-shin,s7-88来看看,谢谢。

已锁定

王小鸭

  • 帖子

    130
  • 精华

    0
  • 被关注

    1

论坛等级:游士

注册时间:2003-06-06

普通 普通 如何晋级?

王小鸭请sun-shin,s7-88来看看,谢谢。

633

0

2002-06-07 15:34:09

sun-shin:你好,在你的提示下,我已编好了故障记录查询程序。但还有一点问题。当连续给8个故障信息,按向下箭头到〈结束〉前一条信息,TD200显示8个〈障〉字不知怎么办,请指教。原来的问题号是1020-3086。我的程序如下:
NETWORK 1 //读时钟
//电机故障时,读发生时间
//VB200 年
//VB201 月
//VB202 日
//VB203 小时
//VB204 分
//VB205 秒
//必须用BCD码表示。如16#97表示97年
//
//
LD 电机故障
EU
TODR VB200

NETWORK 2 //转换
//将从VB200开始的6个字节共12个16进制数转换成ASCII码送到VB210开始的字符串,
//因为TD200接受ASCII码。
//但若嵌入数据,因其不是文本,故不用转换成ASCII码。
//一个字节有2个16进制数,转成ASCII码需2个字节。12=6*2
LD 电机故障
EU
HTA VB200, VB210, 12

NETWORK 3 //设定
//设最大添表数为100个字。
LD SM0.0
MOVW +100, VW300

NETWORK 4 //判断
//一条记录占10个字。年月占用2个字,日时占用2个字,分秒占用2个字,每个报警信息占用4个字,
//共10个字。一共能记10条记录。VW302中是实际添表数。当实际添表数等于80时,就要往外顶出10个字,
//给下一条记录流地方。
LDW= +80, VW302
= M1.0

NETWORK 5 //调用子程序
//如写满8条记录,调用子程序
//从表中移出10个字
LD M1.0
FOR VW600, +1, +10
FIFO VW300, VW602

NETWORK 6
NEXT

NETWORK 7
LD M11.0
MOVW +0, VW600

NETWORK 8 //6-8
//将时钟数值添到从VB300开始的表中。
//VW304-----年 月
//VW306-----日 时
//VW308-----分 秒
LD 电机故障
EU
ATT VW210, VW300

NETWORK 9
LD 电机故障
EU
ATT VW212, VW300

NETWORK 10
LD 电机故障
EU
ATT VW214, VW300

NETWORK 11
LD 电机故障
EU
ATT VW216, VW300

NETWORK 12
LD 电机故障
EU
ATT VW218, VW300

NETWORK 13
LD 电机故障
EU
ATT VW220, VW300

NETWORK 14 //添表
//VW74----故障信息的第一个字。将该字添入表中。
LD 电机故障
EU
ATT VW74, VW300

NETWORK 15 //添表
//VW76----故障信息的第2个字。将该字添入表中。
LD 电机故障
EU
ATT VW76, VW300

NETWORK 16 //添表
//VW78----故障信息的第3个字。将该字添入表中。
LD 电机故障
EU
ATT VW78, VW300

NETWORK 17 //添表
//VW80----故障信息的第4个字。将该字添入表中。
LD 电机故障
EU
ATT VW80, VW300

NETWORK 18
LD 阀门故障
EU
TODR VB200
HTA VB200, VB210, 12
ATT VW210, VW300
ATT VW212, VW300
ATT VW214, VW300
ATT VW216, VW300
ATT VW218, VW300
ATT VW220, VW300
ATT VW114, VW300
ATT VW116, VW300
ATT VW118, VW300
ATT VW120, VW300

NETWORK 19 //建指针
//AC1的内容为存储器的地址。
//VB304为第一条记录的起始地址。
LD M0.0
EU
MOVD &VB304, AC1

NETWORK 20 //移动指针
//按TD200上的UP键,指针内容加20,指针指向下一个记录。
//因为一个记录有10个字,每个字占2个字节,共20个字节。所以指针内容加20。
LD V3.2
+D +20, AC1
R V3.2, 1

NETWORK 21 //移动指针
//按TD200上的DOWN键,指针内容减7,指针指向上一个记录。
LD V3.3
-D +20, AC1
R V3.3, 1

NETWORK 22 //块传送
//将指针所指的记录(共10个字)成块送入VW34。VW34为TD200中MESSAGE 1的起始地址。
LD SM0.0
BMW *AC1, VW34, 10

NETWORK 23 //显示
//按F1,从TD200显示记录
LD M0.0
= V14.7

NETWORK 24 //不显示
//按F2,复位MESSAGE 1启动位
LD M0.1
R M0.0, 2
数据块如下:
VB0 'TD'
VB2 16#60 //将语言设定为中文, Update(更新)设定为尽可能快
VB3 16#81 //将显示设定为 40 字符模式; Up(上)键 V3.2; Down(下)键 V3.3;
VB4 4 //设定消息数目
VB5 0 //将功能键通知位设定为 M0.0 - M0.7
VW6 34 //将消息起始地址设定为VW34
VW8 14 //将消息启动位起始地址设定为 VW14
VW10 0 // 全局密码(如启动)
VW12 256 //字符组 = 中文简体
//MESSAGE 1
//信息启动位 V14.7
VB34 ' '
//MESSAGE 2
//信息启动位 V14.6
VB74 '电机故障 '
//MESSAGE 3
//信息启动位 V14.5
VB114 '阀门故障 '
//MESSAGE 4
//信息启动位 V14.4
VB154 '报警次数 '
//END TD200_BLOCK 0
VB484 '别按了 '
VB464 '结束 '
符号表如下:
电机故障 I0.0
阀门故障 I0.1
报警次数 I0.2

王小鸭请sun-shin,s7-88来看看,谢谢。 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33289条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。