📄 vbdemo.bas
字号:
Attribute VB_Name = "VBDEMO1"
' PRODAVE S7 declarations in Visual Basic
' for S7_300 or S7_200
'
' Projekt/project -> Eigenschaften/Propertys -> erstellen/build
' S7_300 = 1 or S7_200 = 1
'
'
'
'
'****************************************************************************************************************************
'declarations for S7-200/300/400
'****************************************************************************************************************************
Type infotyp
plcsw As Integer
pgsw As Integer
mlfb As String * 30
End Type
Type mixdatatype
type As Byte
size As Byte
bstno As Integer
no As Integer
End Type
Type plcadrtype
adr As Byte
SEGMENTID As Byte
SLOTNO As Byte
RACKNO As Byte
End Type
Public Const BST_IN_RAM As Integer = 16
Public Const BST_IN_EPROM As Integer = 32
'****************************************************************************************************************************
'declarations for S7-300/400
'****************************************************************************************************************************
#If S7_300 Then
Declare Function load_tool Lib "w95_s7.dll" (ByVal nr As Byte, ByVal dev As String, adr As plcadrtype) As Long
Declare Function new_ss Lib "w95_s7.dll" (ByVal nr As Byte) As Long
Declare Function unload_tool Lib "w95_s7.dll" () As Long
Declare Function ag_info Lib "w95_s7.dll" (value As infotyp) As Long
Declare Function ag_zustand Lib "w95_s7.dll" (value As Byte) As Long
Declare Function db_buch Lib "w95_s7.dll" (value As Integer) As Long
' blockno, no, amount, value
Declare Function db_read Lib "w95_s7.dll" (ByVal db As Long, ByVal dw As Long, anz As Long, value As Integer) As Long
Declare Function db_write Lib "w95_s7.dll" (ByVal db As Long, ByVal dw As Long, anz As Long, value As Integer) As Long
Declare Function d_field_read Lib "w95_s7.dll" (ByVal db As Long, ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function d_field_write Lib "w95_s7.dll" (ByVal db As Long, ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
' no, amount, value
Declare Function e_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function a_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function a_field_write Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function m_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function m_field_write Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function t_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long
Declare Function z_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long
Declare Function z_field_write Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long
' data, value
Declare Function mix_read Lib "w95_s7.dll" (data As mixdatatype, value As Byte) As Long
Declare Function mix_write Lib "w95_s7.dll" (data As mixdatatype, value As Byte) As Long
' no, bitno
Declare Function mb_setbit Lib "w95_s7.dll" (ByVal no As Long, ByVal bitno As Long) As Long
Declare Function mb_resetbit Lib "w95_s7.dll" (ByVal no As Long, ByVal bitno As Long) As Long
' no, bitno, value
Declare Function mb_bittest Lib "w95_s7.dll" (ByVal no As Long, ByVal bitno As Long, value As Byte) As Long
'****************************************************************************************************************************
'declarations for TeleService
'****************************************************************************************************************************
'modem name, standort name, tel.no, username, password , window handel, message, wparam
Declare Function ts_dial Lib "w95_s7.dll" (ByVal ModemName As String, ByVal StandortName As String, ByVal TelNo As String, ByVal UserName As String, ByVal Password As String, ByVal Handle As Long, ByVal Message As Long, ByVal WParam As Long, ByVal res1 As String) As Long
Declare Function ts_hang_up_dial Lib "w95_s7.dll" () As Long
'set indicaton on ring -> message if ts-adapter is connected
'modem name, no of rings, window handel, message, wparam
Declare Function ts_set_ringindicator Lib "w95_s7.dll" (ByVal ModemName As String, ByVal Rings As Long, ByVal Handle As Long, ByVal Message As Long, ByVal WParam As Long, ByVal res1 As String) As Long
'information from ring connected ts-adapter
'userid (16 bytes) , asid (1 byte)
Declare Function ts_read_info Lib "w95_s7.dll" (value As Byte, MPIAdr As Byte) As Long
Declare Function ts_hang_up_ring Lib "w95_s7.dll" () As Long
'modem no, modem name, modem name len
Declare Function ts_get_modem_name Lib "w95_s7.dll" (ByVal no As Long, ByVal ModemName As String, ModemNameLen As Long) As Long
#End If
'****************************************************************************************************************************
'****************************************************************************************************************************
'declarations for S7-200
'****************************************************************************************************************************
#If S7_200 Then
Declare Function load_tool Lib "w32_s7micro.dll" (ByVal nr As Byte, ByVal dev As String, adr As plcadrtype) As Long
Declare Function new_ss Lib "w32_s7micro.dll" (ByVal nr As Long) As Long
Declare Function unload_tool Lib "w32_s7micro.dll" () As Long
' no, amount, value
Declare Function as200_e_field_read Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_a_field_read Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_a_field_write Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_m_field_read Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_m_field_write Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_t_field_read Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long
Declare Function as200_z_field_read Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long
Declare Function as200_z_field_write Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long
Declare Function as200_sm_field_read Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_sm_field_write Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_vs_field_read Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_vs_field_write Lib "w32_s7micro.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Declare Function as200_ag_info Lib "w32_s7micro.dll" (value As infotyp) As Long
Declare Function as200_ag_zustand Lib "w32_s7micro.dll" (value As Byte) As Long
' data, value
Declare Function as200_mix_read Lib "w32_s7micro.dll" (data As mixdatatype, value As Byte) As Long
Declare Function as200_mix_write Lib "w32_s7micro.dll" (data As mixdatatype, value As Byte) As Long
' no, bitno
Declare Function as200_mb_setbit Lib "w32_s7micro.dll" (ByVal no As Long, ByVal bitno As Long) As Long
Declare Function as200_mb_resetbit Lib "w32_s7micro.dll" (ByVal no As Long, ByVal bitno As Long) As Long
' no, bitno, value
Declare Function as200_mb_bittest Lib "w32_s7micro.dll" (ByVal no As Long, ByVal bitno As Long, value As Byte) As Long
#End If
'****************************************************************************************************************************
'declarations for komfort.dll
'****************************************************************************************************************************
'errorno, errortext
Declare Function error_message Lib "komfort.dll" (ByVal nr As Long, ByVal value$) As Long
'buffer, amount bytes
Declare Sub swab_buffer Lib "komfort.dll" (value As Integer, ByVal anz As Integer)
'****************************************************************************************************************************
'variables for demoprogram
'****************************************************************************************************************************
Global DataTypeIdx As Integer
Global OutputTypeIdx As Integer
Global VerbIdx As Integer
Global value_word(1024) As Integer
Global value_byte(1024) As Byte
Global plcadr(5) As plcadrtype
Global mixdata(17) As mixdatatype
Global ErrorText As String
Global res As Long
Global AMOUNT As Long
Global BLOCKNO As Long
Global no As Long
Global ModemName As String
Global Standort As String
Global TelNo As String
Global UserName As String
Global Password As String
Global RingActive As Byte
Global UserID(17) As Byte
Global MPIAdr As Byte
Global str As String
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -