For manufacturing machines from Citizen with Mitsubishi controllers this diagnostic tool enables to perform reading and writing operations by using all available commands for these devices. It allows file related operations and helps to quickly setup customized Citizen (Mitsubishi) IIoT Adapter INI files for CNCnetPDM.
The program can be executed on a PC with MS Windows OS (>= XP SP3) connected to your controller via Ethernet. Please use MitsubishiCommands for machines from manufacturers other than Citizen.
Extract all contents of CitizenCommands.zip to a folder on your PC.
In this folder open file melcfg.ini with a text editor and scroll down to section [HOSTS] (1).
melcfg.ini comes with predefined entries for up to 54 machines, every line in section [HOSTS] contains Mitsubishi machine number (the number after TCP), IP Address and TCP Port of a single machine.
Replace the default IP Address 192.168.1.100 with the IP Address of your controller (2), note down the machine number (3) and save the file. If, for example, the IP Address of your first controller is 192.168.1.2 the line should look like TCP1=192.168.1.2,683
In field ‘Mitsubishi Machine Number’ (1) enter the machine number as defined in melcfg.ini.
Initially the program starts with Mitsubishi Command (2) SECT_RUN_STATUS which returns the running status of the machine.
Clicking on button ‘Execute’ (3) shows the result of the operation, here 2, in the right area (4):
FIG 2: Output of CitizenCommands (Read Running Status)
Dropdown field 'Data Type' (5): Allows you to adjust the data type for the command. Please select a data type according to the expected result e.g. for integers T_LONG or for floating point numbers like common variables or axis position T_DOUBLE or T_FLOATBIN. If you expect text output use T_STR.
Input field 'Parameter Value (X)' (6): For commands that require a parameter value like a common variable number SECT_COMMON_VAL1(x) you can enter it’s number here. Input this parameter for commands that end with (x).
Input field 'Axis number' (7): For axis related commands e.g. Axis Name SECT_AXIS_NAME a specific axis number has to be entered here.
Input field 'Part System' (8): If your machine has more than one part system you can adjust this value.
Note: Command M_SSEC_CUR_ALARMS (1) with Data Type T_COMMAND (2) can be used to query up to 10 active alarms from each part system. Input of 0 in field 'Part System' (3) outputs all alarms from all part systems (4).
FIG 3: Query active alarms from Citizen (Mitsubishi) CNC
WRITE DATA
CitizenCommands also allows you to change data at the controller by using writable commands e.g. common variables SECT_COMMON_VAL1(x). To change the value of common variable 501, proceed as follows:
In field Mitsubishi Command (1) type in SECT_COMMON_VAL1(x). You can also copy the command name and paste it into this field by clicking on the button with 3 dots right of the input field.
As Data Type (2) select T_DOUBLE.
In field Parameter Value (3) enter 501
Activate checkbox ‘Write to Controller’ (4) and enter the new value for variable 501 in the input field below.
Clicking on button ‘Execute’ (5) changes the variable value and shows the result in the right area.
You can verify the new value for common variable 501 at the controller (6).
FIG 4: Change common variable 501 with CitizenCommands
FIG 5: Verify the new value for common variable 501 at the controller
FILE RELATED OPERATIONS
CitizenCommands enables to perform various file related operations including listing, selecting, opening, copying and deleting NC-Programs at the controller or PC.
Note: To execute file related commands data type T_COMMAND has to be selected
Files & DIRECTORIES (CONTROLLER)
Series M70/M700
File description
Directory
File name
Remarks
Machining program
M01:\PRG\USER\
Program No.
MTB macro
M01:\PRG\MMACRO\
Program No.
Program No. is O100001000 to O199999999.
Fixed cycle program
M01:\PRG\FIX\
Program No.
Program No. is 0100000010 to 100009999.
MDI program
M01:\PRG\MDI\
MDI.PRG
Parameters [User, machine]
M01:\PRM\
ALL.PRM
Auxiliary axis parameter
M01:\PRM\
AUXAXIS.PRM
M700/M700VW only
DeviceNet parameter file
M01:\PRM\
DEVICENT.PRM
Rotary axis geometric deviation parameter file
M01:\PRM\
GEOMETRY.PRM
PLC program
M01:\LAD\
USERPLC.LAD
Workpiece offset data
M01:\DAT\
WORK.OFS
Tool compensation amount data
M01:\DAT\
TOOL.OFS
Common variable data
M01:\DAT\
COMMON.VAR
Custom variable data
M01:\DAT\
CUSTOM.VAR
SRAM data (binary format)
M01:\DAT\
SRAM.BIN
Sampling data file (binary format)
M01:\DAT\
SAMPLE.BIN
Tool life management data file
M01:\DAT\
TLIFE.TLF
Tool management data file
M01:\DAT\
TOOLMNG.DAT
SRAM open data file
M01:\DAT\
SRAMOPEN.DAT
Device open data file
M01:\DAT\
DEVOPEN.DAT
Machining surface data
M01:\DAT\
RNAVI.DAT
Extended SRAM data (binary format)
M01:\DAT\
EXTSRAM.BIN
All history
M01:\LOG\
ALLLOGLOG
Key history, alarm history, programmable controller I/O signal history, AC input power supply faults history
Key history
M01:\LOG\
KEYLOGLOG
Sampling data file
M01:\LOG\
NCSAMP.CSV
NC-side compact flash
M01:\IC1\
Any
The NC-side SD card is recognized as DS (data server) from the NC control unit. Used for data backup, storing large-capacity programs, etc.
FIG 6: Location & description of directories at the controller (M70/M700)
Series M80/M800
File description
Directory
File name
Remarks
Machining program
M01:\PRG\USER\
Program No.
MTB macro
M01:\PRG\MMACRO\
Program No.
Program No. is 100010000 to 199999999.
Fixed cycle program
M01:\PRG\FIX\
Program No.
Program No. is 100000010 to 100009999.
MDI program
M01:\PRG\MDI\
MDI.PRG
Parameters [User, machine]
M01:\PRM\
ALL.PRM
The header (1st line) is different from the M70 series. An M700 file can be used with M800, but a M800 file cannot be used with the M700 series.
Auxiliary axis parameter
M01:\PRM\
AUXAXIS.PRM
DeviceNet parameter file
M01:\PRM\
DEVICENT.PRM
Rotary axis geometric deviation
M01:\PRM\
GEOMETRY.PRM
parameter file
Safety parameter file
M01:\PRM\
SAFEPARA.BIN
System files for maintenance and service
M01:\PRM\
SYSTEM.PRM
This cannot be accessed by the user.
PLC program file
M01:\LAD\
USERPLC.LAD
Not compatible with M700 series.
PLC program file for each project
M01:\LAD\
PROJECTxx.LAD
xx01 to usable project numbers
Own station safety PLC program file
M01:\LAD\
SAFEPLC1.LAD
Other station safety PLC program file
M01:\LAD\
SAFEPLC2.LAD
Workpiece offset data file
M01:\DAT\
WORK.OFS
Tool compensation amount data
M01:\DAT\
TOOL.OFS
Tool life management data file
M01:\DAT\
TLIFE.TLF
Common variable data file
M01:\DAT\
COMMON.VAR
The format is different from M700 series
SRAM data
M01:\DAT\
SRAM.BIN
Not compatible with M700 series.
Tool management data file
M01:\DAT\
TOOLMNG.DAT
SRAM open data file
M01:\DAT\
SRAMOPEN.DAT
Device open data file
M01:\DAT\
DEVOPEN.DAT
Machining surface data
M01:\DAT\
RNAVI.DAT
Tool safety data file
M01:\DAT\
TOOLALL.DAT
Machine manufacturer macro variable data file
M01:\DAT\
MMACRO.VAR
All history
M01:\LOG\
ALLLOGLOG
The format is different from M700 series.
Key history data file
M01:\LOG\
KEYLOGLOG
The format is different from M700 series.
Touchscreen history
M01:\LOG\
TOUCHLOG.LOG
Sampling data file
M01:\LOG\
NCSAMP.CSV
Sampling data file
M01:\LOG\
NCSAMP.BIN
PLC message data file (English)
M01:\PLCMSG\
PLCMSG_ENG.TXT
PLC message data file (Japanese)
M01:\PLCMSG\
PLCMSG_JPN.TXT
NC-side SD card
M01:\IC1\
Any
The NC-side SD card is recognized as DS (data server) from the NC control unit. Used for data backup, storing large-capacity programs, etc.
FIG 7: Location & description of directories at the controller (M80/M800)
LIST FILES
Commands M_READ_FOLDER or M_READ_FOLDER_M700 can be used to list the content of a specific directory at the controller. M_READ_FOLDER can only be used to list all files located in a selected folder. Output includes full path and file name:
M01:\PRG\USER\1002.PRG M01:\PRG\USER\1003.PRG
M_READ_FOLDER_M700 additionally allows to use wildcards to list specific file names or extensions e.g. if you input M01:\PRG\USER\*.PRG in field ‘Input Folder / File’ only files with extension .PRG are output. It can also be used to check if a specific exists f.i. if M01:\PRG\USER\9002.PRG outputs no result the file does not exist.
SELECT PROGRAM
By using command M_SELECT_PROGRAM or M_SELECT_PROGRAM_EX you can select a NC-Program to be executed at the controller. If you input M01:\PRG\USER\1022.PRG in field ‘Input Folder / File’ and 1 in field ‘Part System’ program 1022.PRG is selected for execution in part system 1.
As selection only works if the program exists in location MEMORY and no program is currently executed in the desired part system it is a good idea to make sure that the program exists followed by checking the execution state before performing this operation.
OPEN PROGRAM
With command M_OPEN_PROGRAM you can open a NC-Program or file at the controller e.g. M01:\PRG\USER\1002.PRG (Field ‘Input Folder / File’) and display it’s content in the output window of CitizenCommands.
Opening programs requires that the file exists and is located in one of the accessible folders at the controller.
FIG 8: Open & display NC-Program Citizen (Mitsubishi)
In the example above target is Citizen machine number 1 (1), command is M_OPEN_PROGRAM (2), data type is T_COMMAND, input file is M01:\PRG\USER\1002.PRG (4) and result is shown in the output area (5).
DELETE PROGRAM
Command M_DELETE_PROGRAM or M_DELETE_PROGRAM_M700 allows you to delete the program specified in field ‘Input Folder / File’.
To succeed the program must not be executed. Deleting a selected program results in an empty window at the operation panel.
M_DELETE_PROGRAM_M700 can also be used to delete programs located at the PC.
COPY PROGRAM
By using command M_COPY_PROGRAM you can transfer files from the controller to a folder at the PC or vice versa. For example if you input M01:\PRG\USER\1022.PRG in field ‘Input Folder / File’ and C:\TMP\1022.PRG in field ‘Output Folder / File’ NC-Program 1022.PRG is copied to directory C:\TMP at the PC after you press [Execute].
For successful execution the program must not exist in the desired output folder.
REMOTE CONTROL
By using CitizenCommands you can also remotely control your machine, e.g. switch between operation modes or start and stop NC-Programs. For remote control PLC output signals (Bit type: Y) have to be used. These signals act as switches (0/1), target the NC and allow to perform the same operations as pressing keys at the operator panel.
Note: Column 'Device' in the PDF documents contains PLC output signals. For remote control replace leading 'Y' with 'H' e.g. YC08 -> HC08.
SWITCH OPERATION MODE
To switch to a specific operation mode you first have to identify the current operation mode and running status of the desired part system of the machine. For mode this can be done by sending SECT_RUN_MODE (Data Type T_SHORT). If output is 0 the current mode is MEMORY, for details see: Citizen (Mitsubishi) CNC Status & Mode
As operation mode can only be switched if no program is currently executed next you have to check the running status of the target part system, command SECT_RUN_STATUS (Data Type T_SHORT). If output is 2 (Ready) mode can be switched.
To do so you first have to invalidate the current mode. This can be done by sending command SECT_DEV_Y_BIT_1SHOT(x) (Data Type T_CHAR). According to M700_PLC_Output_Signals_Bit_Type_Y.pdf page 11 for M70/M700 part system 1 ($1) parameter value has to be hC08 (1). ‘Write to controller’ has to be checked, write value has to be set to 0 to disable the current mode. The operation panel shows ‘NON MODE’ (2).
To switch to MDI mode send SECT_DEV_Y_BIT_1SHOT(x) with parameter hC0B (3). Write value in this case has to be 1. Operation mode changes to MDI (4).
To switch back to memory mode invalidate MDI mode by sending hC0B (5) with write value 0, operation mode changes to NON MODE (6). Sending hC08 with write value 1 (7) changes operation mode to MEMORY (8).
FIG 9: Change Operation Mode Citizen (Mitsubishi) from MEMORY to MDI and vice versa
CHANGE RUNNING STATUS
To change the running status you first have to determine the current status with command SECT_RUN_STATUS (Data Type T_SHORT). If output is 3 (in Automatic running) you can stop the program by sending SECT_DEV_Y_BIT_1SHOT(x) (Data Type T_CHAR) with parameter hC11 (Feed hold) and write value 0. To resume operation send parameter hC10 (Cycle start) with write value 1.
LICENSING
If you have installed CNCnetPDM on your PC with a license other than a ‘free license’ and run this program from the folder where CNCnetPDM is installed you get unlimited functionality. Otherwise you can only read data and execute commands for part system 1 that require no additional input parameter (x). For file related operations only field 'Input Folder / File' can be adjusted. Please see licensing for details or contact us if you have any questions.
Note: If you have a valid license and you'd like to run this program from a different folder on your PC you can simply copy your CNCnetPDM.ini file to this directory.
CONTROLLERS
The program was tested and works with Citizen machines with the following Mitsubishi controllers, others may work as well:
Controller
Mitsubishi Series
MELDAS FCA70LPC-2A
M70
MELDAS M635L
M635
M635L
M635
MELDAS FCA70LPC-2AV
M70
MELDAS FCA70LPC-2AVU
M70
M735LUC
M700
MELDAS FCA70LPC-2AVU
M70
MELDAS FCA70LPC-2AV
M70
M500
M500
MELDAS FCA730LPC-4VS
M700
MELDAS M850LUC-V
M800
MELDAS M820VW
M800
MELDAS M70LPC-VU
M70
M820LUC-V
M800
M830W
M800
M850W
M800
M730VS
M700
M800LC-V
M800
Fig 5: Tested Citizen Mitsubishi Controllers
Privacy notice
This website uses cookies. By continuing to use it you agree to our privacy policy.