📄 write_frm.frm
字号:
VERSION 5.00
Begin VB.Form WRITE_FRM
Caption = "写PLC"
ClientHeight = 5790
ClientLeft = 60
ClientTop = 450
ClientWidth = 7095
LinkTopic = "Form1"
ScaleHeight = 5790
ScaleWidth = 7095
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton IDWRITE
Caption = "写"
Height = 375
Left = 1200
TabIndex = 27
Top = 5280
Width = 1695
End
Begin VB.Frame Frame1
Caption = "请选择要写入的PLC数据区域"
Height = 3135
Left = 120
TabIndex = 20
Top = 1920
Width = 3015
Begin VB.OptionButton DataField
Caption = "输入(Input Bytes)"
Height = 255
Index = 0
Left = 360
TabIndex = 26
Top = 360
Width = 2535
End
Begin VB.OptionButton DataField
Caption = "输出(Output Bytes)"
Height = 255
Index = 1
Left = 360
TabIndex = 25
Top = 840
Width = 2535
End
Begin VB.OptionButton DataField
Caption = "存储区(Flag Bytes)"
Height = 255
Index = 2
Left = 360
TabIndex = 24
Top = 1320
Width = 2535
End
Begin VB.OptionButton DataField
Caption = "时间(Timer Words)"
Height = 255
Index = 3
Left = 360
TabIndex = 23
Top = 1800
Width = 2535
End
Begin VB.OptionButton DataField
Caption = "计数(Counter Words)"
Height = 255
Index = 4
Left = 360
TabIndex = 22
Top = 2280
Width = 2535
End
Begin VB.OptionButton DataField
Caption = "数据块(DB Words)"
Height = 255
Index = 5
Left = 360
TabIndex = 21
Top = 2760
Width = 2535
End
End
Begin VB.Frame Frame2
Caption = "请选择要写入数据的位置/数量/类型"
Height = 1695
Left = 3240
TabIndex = 13
Top = 1920
Width = 3735
Begin VB.TextBox DBID
Height = 270
Index = 0
Left = 1440
TabIndex = 16
Top = 360
Width = 855
End
Begin VB.TextBox DATAADR
Height = 270
Index = 1
Left = 1440
TabIndex = 15
Top = 780
Width = 855
End
Begin VB.TextBox DATAAMT
Height = 270
Index = 2
Left = 1440
TabIndex = 14
Top = 1200
Width = 855
End
Begin VB.Label READPAR
Caption = "数据块号"
Height = 255
Index = 0
Left = 240
TabIndex = 19
Top = 360
Width = 975
End
Begin VB.Label READPAR
Caption = "字/字节地址"
Height = 255
Index = 1
Left = 240
TabIndex = 18
Top = 780
Width = 1095
End
Begin VB.Label READPAR
Caption = "字/字节个数"
Height = 255
Index = 2
Left = 240
TabIndex = 17
Top = 1200
Width = 1095
End
End
Begin VB.Frame Frame3
Caption = "连接状态"
Height = 1695
Left = 120
TabIndex = 2
Top = 120
Width = 6855
Begin VB.TextBox STATIONADR
Height = 375
Index = 0
Left = 1440
TabIndex = 7
Top = 240
Width = 855
End
Begin VB.TextBox SLOTNO
Height = 375
Index = 3
Left = 3720
TabIndex = 6
Top = 720
Width = 855
End
Begin VB.TextBox RACKNO
Height = 375
Index = 2
Left = 1440
TabIndex = 5
Top = 720
Width = 855
End
Begin VB.TextBox SEGMENTID
Height = 375
Index = 1
Left = 3720
TabIndex = 4
Top = 240
Width = 855
End
Begin VB.TextBox AGSTATUS
Height = 375
Left = 1440
TabIndex = 3
Top = 1200
Width = 5055
End
Begin VB.Label Label5
Caption = "Slot No."
Height = 375
Left = 2520
TabIndex = 12
Top = 720
Width = 1455
End
Begin VB.Label Label4
Caption = "Rock No."
Height = 375
Left = 120
TabIndex = 11
Top = 720
Width = 1455
End
Begin VB.Label Label3
Caption = "Segment ID"
Height = 375
Left = 2520
TabIndex = 10
Top = 240
Width = 1455
End
Begin VB.Label Label2
Caption = "Station Adr"
Height = 375
Left = 120
TabIndex = 9
Top = 240
Width = 1095
End
Begin VB.Label Label1
Caption = "状态描述"
Height = 375
Left = 120
TabIndex = 8
Top = 1200
Width = 1095
End
End
Begin VB.CommandButton IDCANCEL
Caption = "放弃"
Height = 375
Left = 3480
TabIndex = 1
Top = 5280
Width = 1575
End
Begin VB.Frame Frame4
Caption = "写入的值(Hex)"
Height = 1335
Left = 3240
TabIndex = 0
Top = 3720
Width = 3735
Begin VB.TextBox WritTxt
Height = 975
Left = 240
TabIndex = 28
Top = 240
Width = 3015
End
End
End
Attribute VB_Name = "WRITE_FRM"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub DATAADR_Change(Index As Integer)
DATANO = DATAADR(1).Text
End Sub
Private Sub DATAAMT_Change(Index As Integer)
AMOUNT = DATAAMT(2).Text
End Sub
Private Sub DBID_Change(Index As Integer)
BLOCKNO = DBID(0).Text
End Sub
Private Sub Form_Activate()
STATIONADR(0).Text = plcadr(VerbIdx).ADR
SEGMENTID(1).Text = plcadr(VerbIdx).SEGMENTID
RACKNO(2).Text = plcadr(VerbIdx).RACKNO
SLOTNO(3).Text = plcadr(VerbIdx).SLOTNO
DataField(0).value = True
DataFieldIdx = 0
res = new_ss(VerbIdx + 1)
If (res = 0) Then
AGSTATUS.Text = "ok"
Else
ErrorText = " "
res = error_message(res, ErrorText)
AGSTATUS.Text = ErrorText
End If
End Sub
Private Sub Form_Click()
unload_tool
End
End Sub
Private Sub IDCANCEL_Click()
Me.Visible = False
End Sub
Private Sub IDWRITE_Click()
Dim i, j, k As Long
Dim s As String
Dim s1 As String
Dim wrivalue(5) As Integer
If (AMOUNT > 512) Then AMOUNT = 512
res = new_ss(VerbIdx + 1)
If (res = 0) Then
'Select Case DataFieldIdx
' Case 0
' res = e_field_write(DATANO, AMOUNT, value_byte(0))
' Case 1
' res = a_field_write(DATANO, AMOUNT, value_byte(0))
' Case 2
' res = m_field_write(DATANO, AMOUNT, value_byte(0))
' Case 3
' Call swab_buffer(value_word(0), 512)
' res = t_field_write(DATANO, AMOUNT, value_word(0))
' Case 4
' Call swab_buffer(value_word(0), 512)
' res = z_field_write(DATANO, AMOUNT, value_word(0))
' Case 5
Call swab_buffer(value_word(0), 2)
res = db_write(BLOCKNO, DATANO, AMOUNT, value_word(0))
'End Select
End If
If (res <> 0) Then
MsgBox "failure in reading!"
End If
End Sub
Private Sub DataField_Click(Index As Integer)
DataFieldIdx = Index
Select Case Index
Case 0
READPAR(0).Visible = False
DBID(0).Visible = False
Case 1
READPAR(0).Visible = False
DBID(0).Visible = False
Case 2
READPAR(0).Visible = False
DBID(0).Visible = False
Case 3
READPAR(0).Visible = False
DBID(0).Visible = False
Case 4
READPAR(0).Visible = False
DBID(0).Visible = False
Case 5
READPAR(0).Visible = True
DBID(0).Visible = True
End Select
End Sub
Private Sub WritTxt_Change()
Dim strValue As String
Dim i As Integer
If (DataFieldIdx = 0 Or DataFieldIdx = 1 Or DataFieldIdx = 2) Then
strValue = WritTxt.Text
For i = 0 To AMOUNT - 1
value_byte(i) = Mid(strValue, i * 3 + 1, 2)
Next i
Else
strValue = WritTxt.Text
For i = 0 To AMOUNT - 1
'value_word(i) = Mid(strValue, i * 5 + 1, 4)
value_word(i) = Mid(strValue, 1, 5)
' Debug.Print "value_word(" & i & ")=" & value_word(i)
' Stop
Next i
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -