首先确认机床模式选择为“自动”状态,显示屏窗口显示为“运行”界面。
机床模式选择是这样的,如下图:
(注:在其它任意模式也是可以进行修改 *** 作的)
显示屏界面是这样的,如下图:
然后按显示屏下方“编辑”选项,如下图:
进入“编辑”选项后,窗口是这样的,如下图:
下面进入程序的修改 *** 作,请接着往下看……
(一)插入功能
1.1单个代码的插入:
例如我们将在“G0 ”的后面插入“G41”刀具半径补偿代码,通过 *** 作机床面板上的上下左右键“”将光标(蓝色高亮显示)停留在“G0 ”后面。如下图:
然后通过按机床面板上的“”键+“”键,然后接着通过 *** 作机床面板编写“G41”,然后接着按输入键“”保存修改后的程序。如下图:
最后按显示屏右下方的“关闭“选项,即可返回程序运行界面。
(知识延伸:SHIFT键意思为变换键,它一般作为辅助控制键,和其它按键组合使用,在此次按键中起到切换至下一行“INSERT”插入功能的作用。)
1.2程序段的插入:
例如我们将在“T09 M06 ”的后面插入“T10”备用刀代码,通过 *** 作机床面板上的上下左右键“”将光标(蓝色高亮显示)停留在“T09 M06 ”后面,然后通过 *** 作机床面板编写“T10”,如下图:
然后按机床 *** 作面板上的输入键“”,保存修改后的程序。如下图:
最后按显示屏右下方的“关闭“选项,即可返回程序运行界面。
(二)删除功能
2.1删除单个字符 *** 作:
例如我们删除“M08”代码,取消自动喷水,通过 *** 作机床面板上下左右键“” 将光标移动到“M”上。如下图:
然后按 *** 作面板上的删除键“”(表示按“DELETE”删除功能),“M”字母就完成了删除(连续 *** 作,按一次删除一个字符)。如下图:
直至将“M08 ”程序段删除完成,然后按输入键“”,保存修改后的程序如下图:
最后按显示屏右下方的“关闭“选项,即可返回程序运行界面。
2.2删除单行程序段 *** 作:
例如我们一次性删除“M08 ;”程序段,取消自动喷水,通过 *** 作机床面板上的上下左右键“” 将光标(蓝色高亮显示)移动到该段程序任意位置上,如下图:
然后通过按机床面板上的删除键“”(表示按“C·B”删除功能),完成该行程序段的删除 *** 作。然后接着按输入键“”,保存修改后的程序。如下图:
最后按显示屏右下方的“关闭“选项,即可返回程序运行界面。
(三)替换字符
3.1单个字符的替换:
例如我们将“G56”替换为”G54”,通过 *** 作机床面板上的上下左右键“” 将光标(蓝色高亮显示)停留在“6”的位置。如下图:
然后通过 *** 作机床面板数字键编写“4”,就可以完成单个字符的替换。然后接着按输入键“”保存修改后的程序。如下图:
最后按显示屏右下方的“关闭“选项,即可返回程序运行界面。
3.2多个字符的替换
例如我们将程序每把刀具开头的“G54”全部替换为“G55”,首先按显示屏下方的“文字列置换”选项,然后通过 *** 作机床面板数字键编写“G54/G55”(该段表示将G55替换为G54),如下图:
然后接着按输入键“”,光标将向下搜索到第一个“G54”代码,然后系统提示“是否替换”,然后按 *** 作面板字母键“Y”(表示英文Yes,确定的意思),如下图:
然后接着按输入键“”,继续向下搜索“G54”代码,再次提示“替换吗?”,然后再按字母键“Y”,如下图:
注意:在 *** 作过程中看清提示,不要 *** 作过快,将代码误替换成Y。
然后接着再次按输入键“”,继续向下搜索“G54”代码,直至提示“找不到检索的文字”(表示程序中已无G54代码),如下图:
当提示“找不到检索的文字”时,再次按“文字列置换”选项,取消替换功能,然后接着按输入键“”,保存修改后的程序。最后按显示屏右下方的“关闭“选项,即可返回程序运行界面。
以上就是三菱M70系统修改程序常用 *** 作功能。希望大家能更多的**与分享,帮助更多像您一样努力学习技术的人。
unit UpdateIPinterface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, NB30, StdCtrls, DB, ADODB
type
TfrmUpdateIPAddress = class(TForm)
adoCntAccess: TADOConnection
adoD***acAddress: TADODataSet
procedure adoCntAccessBeforeConnect(Sender: TObject)
procedure FormShow(Sender: TObject)
private
{ Private declarations }
public
{ Public declarations }
end
var
frmUpdateIPAddress: TfrmUpdateIPAddress
implementation
{$R *.dfm}
//============================================================
// 设置数据库路径
//============================================================
procedure TfrmUpdateIPAddress.adoCntAccessBeforeConnect(Sender: TObject)
begin
adoCntAccess.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0Password=""' +
'User ID=AdminData Source=' + ExtractFilePath(Application.ExeName) +
'\MacData.mdbMode=Share Deny NoneExtended Properties=""'
end
//============================================================
// 获取计算机的 MAC 地址
//============================================================
function NBGetAdapterAddress(a :Integer) : string
var
NC : TNCB
ADAPTE : TADAPTERSTATUS
LANAENU : TLANAENUM
intId : Integer
cR : Char
strTem : string
begin
Result := ''
try
ZeroMemory(@NC, SizeOf(NC))
NC.ncb_command := Chr(NCBENUM)
cR := NetBios(@NC)
//Reissue enum command
NC.ncb_buffer := @LANAENU
NC.ncb_length := SizeOf(LANAENU)
cR := NetBios(@NC)
if Ord(cR) <>0 then
exit
ZeroMemory(@NC, SizeOf(NC))
NC.ncb_command := Chr(NCBRESET)
NC.ncb_lana_num := LANAENU.lana[a]
cR := NetBios(@NC)
if Ord(cR) <>0 then
exit
ZeroMemory(@NC, SizeOf(NC))
NC.ncb_command := Chr(NCBASTAT)
NC.ncb_lana_num := LANAENU.lana[a]
StrPCopy(NC.ncb_callname, '*')
NC.ncb_buffer := @ADAPTE
NC.ncb_length := SizeOf(ADAPTE)
cR := NetBios(@NC)
strTem := ''
for intId := 0 To 5 do
strTem := strTem+ InttoHex(Integer(ADAPTE.adapter_address[intId]), 2)
Result := strTem
finally
end
end
//============================================================
// 设置计算机名
//============================================================
function SetComputerName(AComputerName: string): Boolean
var
ComputerName: array[0..MAX_COMPUTERNAME_LENGTH + 1] of Char
begin
StrPCopy(ComputerName, AComputerName)
Result := Windows.SetComputerName(ComputerName)
end
//============================================================
// 启动时自动修改IP地址以及计算机名
//============================================================
procedure TfrmUpdateIPAddress.FormShow(Sender: TObject)
var
sMac, sNum, sComputerName, BatchFileName: string
ProcessInfo: TProcessInformation
StartUpInfo: TStartupInfo
begin
sMac := NBGetAdapterAddress(0)
AdoCntAccess.Connected := True
adoD***acAddress.Close
adoD***acAddress.Parameters.ParamByName('mac').Value := sMac
adoD***acAddress.Open
if adoD***acAddress.RecordCount = 0 then
Application.Terminate
sNum := Trim(adoD***acAddress.FieldByName('ComputerID').Value)
//设置计算机名
sComputerName := 'Stu_' + sNum
if not SetComputerName(sComputerName) then
begin
ShowMessage('计算机名没有设置成功!')
Application.Terminate
end
//设置IP地址、DNS等
BatchFileName := ExtractFilePath(ParamStr(0)) + 'AutoUpdate.bat ' + sNum
StartUpInfo.dwFlags := STARTF_USESHOWWINDOW
StartUpInfo.wShowWindow := SW_Hide
if CreateProcess(nil, PChar(BatchFileName), nil, nil,
False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo, ProcessInfo) then
begin
CloseHandle(ProcessInfo.hThread)
CloseHandle(ProcessInfo.hProcess)
end
Application.Terminate
end
end.
该程序首先获取当前机器的MAC地址,然后从Access表中检索机器号,并根据机器号生成机器名“Stu_+机器号”。在修改完机器名后,自动启动一个外部批处理(在这里是一个BAT文件),进行挂参数的批处理调用,实现修改IP地址工作。如果有人问为什么要调用批处理的话,实际上我想将系统做成自删除的系统,程序执行完就将自己删除的干干静静,不留任何痕迹,这在后面再讨论。
批处理文件的内容如下:
@ECHO OFF
rem 修改IP地址、子网掩码、网关
cmd /c netsh interface ip set address name="本地连接" source=static addr=10.16.19.%1 mask=255.255.255.0 gateway=10.16.19.254 gwmetric=1
rem 修改DNS
cmd /c netsh interface ip set dns name="本地连接" source=static addr=210.31.198.65
rem 删除放在启动组中的快捷方式
del /q "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\AutoUpdate.*"
rem 调用重启机的批处理文件
Restart.bat
从文件中可以看出,为了让系统在第一次运行时自动修改IP地址,在开始菜单的启动中创建了一个快捷方式,自动调用我的程序,程序执行完后,将启动菜单中快捷方式删除,然后重新启动。至于自删除的功能,这里我没有放上来,感兴趣的话,可以在Google中检索“Delphi 自己 删除”,能找到很多资料。
下面说说重新启动,Windows 98、Windows Me重新启动很简单,只要一条命令就可以了:
rundll32.exe shell32.dll,SHExitWindowsEx n
其中最后面的n表示:
0 - LOGOFF
1 - SHUTDOWN
2 - REBOOT
4 - FORCE
8 - POWEROFF
Window XP的重启不同于98,需要使用 shutdown 命令,具体可以参考手册。
最困难的是NT 2000的重启,使用上面的方法都不起作用。必须通过多条命令实现。下面看看NT 2000重启的批处理文件:
@ECHO OFF &cd/d %temp% &echo [version] >{out}.inf
(set inf=InstallHinfSection DefaultInstall)
echo signature=$chicago$ >>{out}.inf
echo [defaultinstall] >>{out}.inf
rundll32 setupapi,%inf% 1 %temp%\{out}.inf
del {out}.inf
有些乱,但很管用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)