做了个统计字节中位状态数量的FC,有用得着的可以看看
SUBROUTINE_BLOCK BitCount_B:SBR1
TITLE=统计字节中位状态数量
VAR_INPUT
value:BYTE; // 输入字节
numberOfBits:WORD;
END_VAR
VAR_OUTPUT
countBitsTrue:BYTE; // TRUE位计数
countBitsFalse:BYTE; // FALSE位计数
END_VAR
VAR
tempBinaryValues:BYTE; // 临时字节变量
tempLoopIndex:WORD; // 临时计数器
tempCountBitsTrue:BYTE; // 临时TRUE位计数
tempCountBitsFalse:BYTE; // 临时FALSE位计数
END_VAR
BEGIN
Network 1
// 程序段注释
LD SM0.0
FILL 0, LW6, 2
MOVB LB0, LB5
Network 2
LD SM0.0
FOR LW6, 1, LW1
Network 3
LD SM0.0
LPS
A L5.0
INCB LB8
LPP
AN L5.0
INCB LB9
Network 4
LD SM0.0
SRB LB5, 1
Network 5
NEXT
Network 6
LD SM0.0
MOVB LB8, LB3
MOVB LB9, LB4
END_SUBROUTINE_BLOCK