移位问题

已锁定

asdf1234

  • 帖子

    209
  • 精华

    1
  • 被关注

    2

论坛等级:游侠

注册时间:2004-04-30

普通 普通 如何晋级?

移位问题

1108

7

2006-12-12 13:04:14

以下是泵的启动程序,用一个字作泵的控制字,控制字定义如下:
Reading and writing to the motor control words:


Addressing format:DB(+DB number).DBX(+word number).(+bit number)

EXAMPLE:
Adressing pump / motor on word 0 in DB nr.50

DB50.DBX0.0= RUN (SCADA green) 泵运行位
DB50.DBX0.1= request to run 请求运行
DB50.DBX0.2= general alarm state 报警汇聚位
DB50.DBX0.3= runstate alarm 启动失败报警位
DB50.DBX0.4= alarm device 1 外部报警信号位1
DB50.DBX0.5= alarm device 2 外部报警信号位2
DB50.DBX0.6= alarm device 3 外部报警信号位3
DB50.DBX0.7= motor-alarm countdown 报警计数状态位
DB50.DBX1.6= auto / man 自动/手动位
DB50.DBX1.7= man off / on 手动关/开位

When addressing pump / motor on word 2 start with DB50.DBX2.0
以下是程序:

L #DATAWORD_NUMBER // DW adress motor data
SLW 3 //不知道此处为何左移3位???
LAR1
OPN #MOTOR_DB // DB motor status data
// ********************************
// Reset Alarms
// ********************************
A #RESET_PLS // reset input
R DBX [AR1,P#0.4] // alarm device #1
R DBX [AR1,P#0.5] // alarm device #2
R DBX [AR1,P#0.6] // alarm device #3
R DBX [AR1,P#0.3] // run state alarm
// ********************************
// Check Security Devices
// ********************************
AN #NC_ALM1 // device #1 (input: NC)
S DBX [AR1,P#0.4] // alarm devive #1
AN #NC_ALM2 // device #2 (input: NC)
S DBX [AR1,P#0.5] // alarm device #2
A #NO_ALM3 // device #3 (input: NO)
S DBX [AR1,P#0.6] // alarm device #3
// ********************************
// Runalarm
//*********************************
A DBX [AR1,P#0.1] // request to run
AN #RUN
O
AN DBX [AR1,P#0.1] // request to run
A #RUN
= DBX [AR1,P#0.7] // motor-alarm countdown
// ********************************
// Runalarm; counter
// ********************************
A DBX [AR1,P#0.7] // motor-alarm countdown
A #SEC_PLS
AN DBX [AR1,P#0.3] // run state alarm
JNB _001
L #COUNT // internal counter
L 1
+I
T #COUNT // internal counter
_001: NOP 0
// ********************************
// Runalarm, reset counter
// ********************************
AN DBX [AR1,P#0.7] // motor-alarm countdown
//;
JNB _002
L 0
T #COUNT // internal counter
_002: NOP 0
// ********************************
// Runalarm; set merker
// ********************************
AN DBX [AR1,P#0.7] // motor-alarm countdown
A #RESET_PLS
R DBX [AR1,P#0.3] // run state alarm
L #COUNT // internal counter
L #RUNTIME
>I
S DBX [AR1,P#0.3] // run state alarm
// ********************************
// Collect alarms
// ********************************
A DBX [AR1,P#0.4] // alarm device #1
O DBX [AR1,P#0.5] // alarm device #2
O DBX [AR1,P#0.6] // alarm device #3
O DBX [AR1,P#0.3] // run state alarm
= #GENERAL_ALARM // "Alarm" (for e.g. SCADA)
= DBX [AR1,P#0.2]
// ********************************
// Control Motor
// ********************************
A(
AN DBX [AR1,P#1.6] // 0 = auto / 1 = man
A #REQUEST
O
A DBX [AR1,P#1.6] // 0 = auto / 1 = man
A DBX [AR1,P#1.7] // 0 = man-off / 1 = man-on
)
AN DBX [AR1,P#0.2] // alarm state
A #INSTALLATION_ON // installation enabled
= DBX [AR1,P#0.1] // request to run
= #REL // relay control
//;
A #RUN
= DBX [AR1,P#0.0] // For SCADA (Symbol Green)
//;
AN DBX [AR1,P#1.6] // 0 = auto / 1 = man
R DBX [AR1,P#1.7] // 0 = man-off / 1 = man-on


AN DBX [AR1,P#1.6] // 0 = auto / 1 = man
A #REQUEST
S DBX [AR1,P#1.7] // 0 = man-off / 1 = man-on
//;
AN DBX [AR1,P#1.6] // 0 = auto / 1 = man
AN #REQUEST
R DBX [AR1,P#1.7] // 0 = man-off / 1 = man-on


不知第二行为何要SLW 3 ????????请大家帮忙
移位问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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