You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.5 KiB
Plaintext
75 lines
2.5 KiB
Plaintext
2 years ago
|
Option Explicit
|
||
|
Dim wshshell
|
||
|
Dim fso
|
||
|
'Dim MachineType
|
||
|
'Dim MachineNumber
|
||
|
Dim FileName
|
||
|
Dim IpString
|
||
|
Dim RtsCount
|
||
|
Dim i
|
||
|
Dim Fnct
|
||
|
Dim Key,TmpKey
|
||
|
|
||
|
set wshshell = CreateObject("WScript.Shell")
|
||
|
Set Fnct = CreateObject("Install.Functions")
|
||
|
|
||
|
GetInputs
|
||
|
key = "HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\System\SysAutoStart"
|
||
|
wshshell.RegWrite key,0,"REG_DWORD"
|
||
|
key = "HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\System\SysStartupState"
|
||
|
wshshell.RegWrite key,6,"REG_DWORD"
|
||
|
key = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcIo\Start"
|
||
|
wshshell.RegWrite key,3,"REG_DWORD"
|
||
|
key = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcNc\Start"
|
||
|
wshshell.RegWrite key,3,"REG_DWORD"
|
||
|
key = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcPlc\Start"
|
||
|
wshshell.RegWrite key,3,"REG_DWORD"
|
||
|
key = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcRouter\Start"
|
||
|
wshshell.RegWrite key,2,"REG_DWORD"
|
||
|
key = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcRTime\Start"
|
||
|
wshshell.RegWrite key,3,"REG_DWORD"
|
||
|
|
||
|
For i = 1 To RtsCount
|
||
|
Key = "HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\System\build"
|
||
|
If wshshell.RegRead(key) >= 718 Then
|
||
|
Key = "HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\Plc\LoadBootPrjRetainData" & CStr(i)
|
||
|
wshshell.RegWrite key,0,"REG_DWORD"
|
||
|
Else
|
||
|
Key = "HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\Init8\PLC: Load Boot Project\"
|
||
|
TmpKey = Key + "Cmd" + CStr(i)
|
||
|
wshshell.RegWrite TmpKey,20483,"REG_DWORD"
|
||
|
TmpKey = Key + "Port" + CStr(i)
|
||
|
wshshell.RegWrite TmpKey,801 + (i-1)*10,"REG_DWORD"
|
||
|
TmpKey = Key + "Str" + CStr(i)
|
||
|
wshshell.RegWrite TmpKey,0,"REG_BINARY"
|
||
|
TmpKey = Key + "Msg" + CStr(i)
|
||
|
wshshell.RegWrite TmpKey,"PLC Boot Project of Run-Time System " + CStr(i) + " loaded"
|
||
|
End If
|
||
|
Next
|
||
|
|
||
|
Sub GetInputs
|
||
|
Dim fso
|
||
|
Dim CompFile
|
||
|
IpString = ""
|
||
|
Set fso = CreateObject("Scripting.FileSystemObject")
|
||
|
If fso.FileExists("c:\Computer.ini") Then
|
||
|
IPString = Fnct.GetIniString("CD1_Setup", "TcpIp", "c:\Computer.ini")
|
||
|
RtsCount = Fnct.GetIniString("CD1_Setup", "RtsCount", "c:\Computer.ini")
|
||
|
End If
|
||
|
If fso.FileExists("c:\Computer.txt") And IpString = "" Then
|
||
|
Set CompFile = fso.OpenTextFile("c:\Computer.txt", 1)
|
||
|
IPString = CompFile.ReadLine
|
||
|
RtsCount = CompFile.ReadLine
|
||
|
CompFile.Close
|
||
|
End If
|
||
|
end sub
|
||
|
|
||
|
Function GetCurrentPath()
|
||
|
Dim l_strScriptName
|
||
|
Dim l_strTemp
|
||
|
|
||
|
l_strScriptName = WScript.ScriptFullName
|
||
|
l_strTemp = WScript.ScriptName
|
||
|
GetCurrentPath = Left(l_strScriptName, Len(l_strScriptName) - Len(l_strTemp))
|
||
|
End Function
|