请高手帮忙读变频器和S7-300通讯的程序

已锁定

我心依旧0705

西门子1847工业学习平台

  • 帖子

    366
  • 精华

    15
  • 被关注

    15

论坛等级:侠圣

注册时间:2004-08-24

钻石 钻石 如何晋级?

请高手帮忙读变频器和S7-300通讯的程序

513

2

2006-04-30 20:50:00

以下程序是将PLC的指令写进变频器的:

FC107是把Control_word、PZW1、PZW2和PZW3一起送到DB17中,起始地址为8,然后又用SFC15写到变频器里。

哪位高手能帮我看一下这些程序?我主要是对FC107不太懂,它的内容看起来很长,但实际上Network 3、4、5的内容是几乎是相同的。

我的问题是:和变频器的PZD对应时,MB8和MB9为什么是反的?即MB8对应PZD的高位字节,而MB9对应的则为低位字节?FC107把MW8、PZW1、PZW2和PZW3放到DB17的什么位置上?程序中为何几次进行左移3位?“L#2”是什么数据?

CALL "FC17"
DB_No :=17
Startaddress:=8
PZW1 :="DB21".DP_OUT1
OG_PZW1 :=3.500000e+002 //Upper limit
PZW2 :="DB21".DP_OUT2
OG_PZW2 :=1.000000e+002 //Upper limit
PZW3 :="DB20".Analog_out.A_Out_17
OG_PZW3 :=1.000000e+002 //Upper limit
control_word:="MW8" //control bits from PLC


CALL SFC 15
LADDR :=W#16#1FC
RECORD :=P#DB17.DBX 8.0 WORD 6
RET_VAL:=MW180


FC17的内容如下:

Network 1

L #DB_No // 17
T LW 0

L #Startaddress //8
T LW 2

OPN DB [LW 0] //open DB 17

L LW 2 //Start_address 8
SLW 3 //convert into Pointer_format
ITD
T LD 32 //Pointer 64

L #control_word //MW8
T LW 28

L #PZW1 //v set
T LD 4

L #OG_PZW1 //350
T LD 8

L #PZW2 //M set
T LD 12

L #OG_PZW2 //100
T LD 16

L #PZW3
T LD 20

L #OG_PZW3 //100
T LD 24

Network 2

L LW 28 //MW8的值
T DBW [LD 32]

Network 3

L LD 4 //v set
L 0.000000e+000
JC N3A

L LD 4
L LD 8 //Upper limit
<=R
JC N3B

L LD 8 //Upper limit
T LD 4

N3B: L LD 4
L LD 8 //Upper limit
/R
L 1.638400e+004 //Factor for 100%
*R
TRUNC
T LD 36
JU N3F

N3A: L LD 4 //v set
NEGR
L LD 8 //Upper limit
<=R
JC N3C

L LD 8 //Upper limit
NEGR
T LD 4

N3C: L LD 4 //v set
L LD 8 //Upper limit
/R
L 1.638400e+004 //Factor for 100%
*R
TRUNC
T LD 36

N3F: L L#2
SLD 3
L LD 32 //pointer 64
+D
T LD 32 //Pointer

L LW 38
T DBW [LD 32]

Network 4

L LD 12 //M set
L 0.000000e+000
JC N4A

L LD 12 //M set
L LD 16 //Upper limit
<=R
JC N4B

L LD 16 //Upper limit
T LD 12

N4B: L LD 12
L LD 16 //Upper limit
/R
L 1.638400e+004 //Factor for 100%
*R
TRUNC
T LD 40
JU N4F

N4A: L LD 12
NEGR
L LD 16 //Upper limit
<=R
JC N4C

L LD 16 //Upper limit
NEGR
T LD 12

N4C: L LD 12
L LD 16 //Upper limit
/R
L 1.638400e+004 //Factor for 100%
*R
TRUNC
T LD 40

N4F: L L#2
SLD 3
L LD 32 //Pointer
+D
T LD 32 //Pointer

L LW 42
T DBW [LD 32]

Network 5

L LD 20
L 0.000000e+000
JC N5A

L LD 20
L LD 24 //Upper limit
<=R
JC N5B

L LD 20 //Upper limit
T LD 24

N5B: L LD 20
L LD 24 //Upper limit
/R
L 1.638400e+004 //Factor for 100%
*R
TRUNC
T LD 44
JU N5F

N5A: L LD 20
NEGR
L LD 24 //Upper limit
<=R
JC N5C

L LD 24 //Upper limit
NEGR
T LD 20

N5C: L LD 20
L LD 24 //Upper limit
/R
L 1.638400e+004 //Factor for 100%
*R
TRUNC
T LD 44

N5F: L L#2
SLD 3
L LD 32 //Pointer
+D
T LD 32 //Pointer

L LW 46
T DBW [LD 32]

谢谢!

请高手帮忙读变频器和S7-300通讯的程序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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