⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbd_write.frm

📁 可以读些S7-300PLC中的变量数据
💻 FRM
📖 第 1 页 / 共 4 页
字号:
Text8.Text = ExitScanReturnHomeEncodeShow
'-------出口扫描钢板宽度DB2.DBD138 REAL---------------------------------------------
BLOCKNO = 2
no = 138
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
ExitScanSteelWidth = Read_S7_300_Real(combination)
LED8.LEDSTRING = ExitScanSteelWidth
Text5.Text = ExitScanSteelWidth
'------出口扫描原点到钢板边缘的距离DB2.DBD134 REAL-----------------------------------------------------------------
BLOCKNO = 2
no = 134
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
ExitScanHomeToSteelEdgeDistance = Read_S7_300_Real(combination)
LED9.LEDSTRING = ExitScanHomeToSteelEdgeDistance
Text6.Text = ExitScanHomeToSteelEdgeDistance
'-------出口扫描原点到钢板末端的距离DB25.DBD20 REAL--------------------------------------------------------
BLOCKNO = 25
no = 20
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
ExitScanHomeToSteelEndDistance = Read_S7_300_Real(combination)
LED10.LEDSTRING = ExitScanHomeToSteelEndDistance
Text7.Text = ExitScanHomeToSteelEndDistance
'-----------入口设置钢板宽度显示-----------------------------------------------------------
BLOCKNO = 25
no = 64
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
EntrySetSteelWidth = Read_S7_300_Real(combination)
LED11.LEDSTRING = EntrySetSteelWidth
'-----------入口设置评估值显示--------------------------------------------------------
BLOCKNO = 25
no = 84
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
EntrySetEvaluate = Read_S7_300_Real(combination)
LED12.LEDSTRING = EntrySetEvaluate
'--------------出口设置宽度显示--------------------------------------------------
BLOCKNO = 25
no = 68
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
ExitSetSteelWidth = Read_S7_300_Real(combination)
LED13.LEDSTRING = ExitSetSteelWidth
'----------------出口设置评估值显示---------------------------------------------
BLOCKNO = 25
no = 88
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
ExitSetEvaluate = Read_S7_300_Real(combination)
LED14.LEDSTRING = ExitSetEvaluate
'--------------入出口扫描原点到各自钢板边缘的距离差值显示
BLOCKNO = 7
no = 212
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
DifferentValueDistance = Read_S7_300_Real(combination)
LED15.LEDSTRING = DifferentValueDistance
'-----------入出口扫描原点到各自钢板边缘的编码器差值显示------------------------------------------
BLOCKNO = 7
no = 220
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

DifferentValueEncode = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4

LED16.LEDSTRING = DifferentValueEncode
'---------入口扫描宽度与入口设置宽度差值-------------------------------------------------------
BLOCKNO = 25
no = 72
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
EntryDifferentSetWidhScanWidth = Read_S7_300_Real(combination)
LED17.LEDSTRING = EntryDifferentSetWidhScanWidth
'---------出口扫描宽度与出口设置宽度差值-------------------------------------------------------
BLOCKNO = 25
no = 76
AMOUNT = 4

res = new_ss(VerbIdx + 1)

res = d_field_read(BLOCKNO, no, AMOUNT, READ_BYTE(0))

Byte1 = READ_BYTE(0)
Byte2 = READ_BYTE(1)
Byte3 = READ_BYTE(2)
Byte4 = READ_BYTE(3)

combination = Byte1 * 16777216 + Byte2 * 65536 + Byte3 * 256 + Byte4
ExitDifferentSetWidhScanWidth = Read_S7_300_Real(combination)
LED17.LEDSTRING = ExitDifferentSetWidhScanWidth
End Sub


'-----------读取数据
Private Sub Command1_Click()
Timer1.Enabled = True
Shape5.FillColor = vbRed
Label35.Enabled = True
Label35.Caption = "数据循环读取"
End Sub
'----------停止读取
Private Sub Command2_Click()
Timer1.Enabled = False
Shape5.FillColor = vbGreen
Label35.Caption = "停止数据循环读取"
End Sub
'-----------入口扫描原点编码器设置-----------------------------------------
Private Sub Command3_Click()
Dim write_byte() As Byte

Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Single

BLOCKNO = 2
no = 102
AMOUNT = 4
a = Text9.Text
write_byte = Write_s7_300_DINT(a)

res = new_ss(VerbIdx + 1)
'If (res = 0) Then

res = d_field_write(BLOCKNO, no, AMOUNT, write_byte(0))
End Sub
'----------出口扫描原点编码器设置--------------------------------------------
Private Sub Command4_Click()
Dim write_byte() As Byte

Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Single

BLOCKNO = 2
no = 142
AMOUNT = 4
a = Text10.Text
write_byte = Write_s7_300_DINT(a)

res = new_ss(VerbIdx + 1)
'If (res = 0) Then

res = d_field_write(BLOCKNO, no, AMOUNT, write_byte(0))
End Sub
'--------------入口钢板宽度设置-------------------------
Private Sub Command5_Click()
Dim write_byte() As Byte
Dim float_byte() As Byte
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Single
BLOCKNO = 25
no = 64
AMOUNT = 4
d = Text11.Text
float_byte = Write_S7_300_Real(d)

res = new_ss(VerbIdx + 1)
'If (res = 0) Then

res = d_field_write(BLOCKNO, no, AMOUNT, float_byte(0))

End Sub

'--出口钢板宽度设置------
Private Sub Command6_Click()
Dim write_byte() As Byte
Dim float_byte() As Byte
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Single
BLOCKNO = 25
no = 68
AMOUNT = 4
d = Text12.Text
float_byte = Write_S7_300_Real(d)

res = new_ss(VerbIdx + 1)
'If (res = 0) Then

res = d_field_write(BLOCKNO, no, AMOUNT, float_byte(0))

End Sub

'----入口钢板评估值设置----
Private Sub Command7_Click()
Dim write_byte() As Byte
Dim float_byte() As Byte
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Single
BLOCKNO = 25
no = 84
AMOUNT = 4
d = Text13.Text
float_byte = Write_S7_300_Real(d)

res = new_ss(VerbIdx + 1)
'If (res = 0) Then

res = d_field_write(BLOCKNO, no, AMOUNT, float_byte(0))

End Sub
'----出口钢板评估值设置----
Private Sub Command8_Click()
Dim write_byte() As Byte
Dim float_byte() As Byte
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Single
BLOCKNO = 25
no = 88
AMOUNT = 4
d = Text14.Text
float_byte = Write_S7_300_Real(d)

res = new_ss(VerbIdx + 1)
'If (res = 0) Then

res = d_field_write(BLOCKNO, no, AMOUNT, float_byte(0))

End Sub

Private Sub Form_Load()
Label35.Enabled = False
Label35.Caption = ""
LED1.LEDSTRING = ""
LED2.LEDSTRING = ""
LED3.LEDSTRING = ""
LED4.LEDSTRING = ""
LED5.LEDSTRING = ""
'-----------------
LED6.LEDSTRING = ""
LED7.LEDSTRING = ""
LED8.LEDSTRING = ""
LED9.LEDSTRING = ""
LED10.LEDSTRING = ""
LED11.LEDSTRING = ""
LED12.LEDSTRING = ""
LED13.LEDSTRING = ""
LED14.LEDSTRING = ""
'-------------------
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text12.Text = ""
Text13.Text = ""
Text14.Text = ""
Shape5.FillColor = vbGreen
End Sub

Private Sub Timer1_Timer()
Call ENTRY_SCAN_DBD_READ
Call EXIT_SCAN_DBD_READ
Call READ_S7_300_IQM
End Sub
'-------------------------------------------------
Private Sub READ_S7_300_IQM()
Dim IQM_BYTE_ARRAY(1024) As Byte

IQM_BYTE = 14
IQM_BIT = 1

res = new_ss(VerbIdx + 1)
res = m_field_read(IQM_BYTE, IQM_BIT, IQM_BYTE_ARRAY(0))
IQM_BYTE = IQM_BYTE_ARRAY(0)
M14_3 = READ_IQM_BYTE_BIT(IQM_BYTE, 3)
M14_4 = READ_IQM_BYTE_BIT(IQM_BYTE, 4)
'---------------------------------------------------------
If M14_3 Then
Shape6.FillColor = vbGreen
Else
Shape6.FillColor = vbRed
End If

If M14_4 Then
Shape7.FillColor = vbGreen
Else
Shape7.FillColor = vbRed
End If
'----------------------------------------------------
IQM_BYTE = 6
IQM_BIT = 1

res = new_ss(VerbIdx + 1)
res = a_field_read(IQM_BYTE, IQM_BIT, IQM_BYTE_ARRAY(0))
IQM_BYTE = IQM_BYTE_ARRAY(0)
Q6_0 = READ_IQM_BYTE_BIT(IQM_BYTE, 0)
Q6_1 = READ_IQM_BYTE_BIT(IQM_BYTE, 1)
'---------------------------------------------------
If Q6_0 Then
Text15.Text = "入口扫描电机移向传动侧"
Shape8.FillColor = vbGreen
End If
'-------------------------------------------------
If Q6_1 Then
Text15.Text = "入口扫描电机移向操作侧"
Shape8.FillColor = vbGreen
End If
If Q6_0 = 0 And Q6_1 = 0 Then
Text15.Text = "入口扫描电机停止动作"
Shape8.FillColor = vbRed
End If
'==================================================
IQM_BYTE = 6
IQM_BIT = 1

res = new_ss(VerbIdx + 1)
res = a_field_read(IQM_BYTE, IQM_BIT, IQM_BYTE_ARRAY(0))
IQM_BYTE = IQM_BYTE_ARRAY(0)
Q6_2 = READ_IQM_BYTE_BIT(IQM_BYTE, 2)
Q6_3 = READ_IQM_BYTE_BIT(IQM_BYTE, 3)
'---------------------------------------------------
If Q6_2 Then
Text16.Text = "出口扫描电机移向传动侧"
Shape9.FillColor = vbGreen
End If
'-------------------------------------------------
If Q6_3 Then
Text16.Text = "出口扫描电机移向操作侧"
Shape9.FillColor = vbGreen
End If
If Q6_2 = 0 And Q6_3 = 0 Then
Text16.Text = "出口扫描电机停止动作"
Shape9.FillColor = vbRed
End If
'********************************************
IQM_BYTE = 5
IQM_BIT = 1

res = new_ss(VerbIdx + 1)
res = a_field_read(IQM_BYTE, IQM_BIT, IQM_BYTE_ARRAY(0))
IQM_BYTE = IQM_BYTE_ARRAY(0)
Q5_3 = READ_IQM_BYTE_BIT(IQM_BYTE, 3)
Q5_4 = READ_IQM_BYTE_BIT(IQM_BYTE, 4)
'------------------------------------------
If Q5_3 Then
Shape2.FillColor = vbRed
Else
Shape2.FillColor = vbWhite
End If
'---------------------
If Q5_4 Then
Shape3.FillColor = vbRed
Else
Shape3.FillColor = vbWhite
End If

'-------------------------------------------
IQM_BYTE = 4
IQM_BIT = 1

res = new_ss(VerbIdx + 1)
res = e_field_read(IQM_BYTE, IQM_BIT, IQM_BYTE_ARRAY(0))
IQM_BYTE = IQM_BYTE_ARRAY(0)
I4_4 = READ_IQM_BYTE_BIT(IQM_BYTE, 4)
I4_5 = READ_IQM_BYTE_BIT(IQM_BYTE, 5)
'----------------------------------------------
If I4_4 Then
Line14.BorderColor = vbRed
Else
Line14.BorderColor = vbWhite
End If
'---------------------
If I4_5 Then
Line13.BorderColor = vbRed
Else
Line13.BorderColor = vbWhite
End If
End Sub
'--------------------------------









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -