I doubt that.
Try to copy your kuka1.ldb to INI folder, and change the name master.ldb in pfbms.ini to kuka1.ldb.
I will try it in this week and i will give feedback, cause i don't near the robot
I doubt that.
Try to copy your kuka1.ldb to INI folder, and change the name master.ldb in pfbms.ini to kuka1.ldb.
I will try it in this week and i will give feedback, cause i don't near the robot
Do you really use the correct .gsd-File from Turck?
.zip works well.
Yes i did. They forget to upload the gsd file to their website, therefore we write for the support and they send us the gsd file directly.
Ohh yes maybe... i forgot to try it.. Thanks!
PFBMS.INI:
;-----------------------------------------------------------------------------------------------------------
; [CP_5613/14] general section for master and slavemodul
;
; DEBUG=0 : no printings on Telnet-shell (default: DEBUG=0)
; DEBUG=1 : printings are enabled
;
; LOGFILE_PATH=__/__ : if this entry is used, a logfile will be created
; at the projected path
;
; ERROR_TEXT=German : Siemens specific error messages in German
; ERROR_TEXT=English : Siemens specific error messages in English
; FORCE_RESET=0 : Reset the Master or the Slave only if there is really a bus error.
; FORCE_RESET=1 : Reset the Master and the Slave in any case.
; OLD_ERROR_DB=0 : Each error detection routine uses its own message.
; New drivers can cause system errors if used on older KRC systems.
; OLD_ERROR_DB=1 : Error detection routines use standard messages.
; New drivers are comaptible to older KRC systems.
;
;-----------------------------------------------------------------------------------------------------------
[CP_5613/14]
DEBUG=1
LOGFILE_PATH=log/pfbms.log
ERROR_TEXT=German
FORCE_RESET=0
OLD_ERROR_DB=0
;-----------------------------------------------------------------------------------------------------------
; [MASTER] section for master
;
; MASTER_USED=1 : Master will be started
; MASTER_USED=0 : Master will not be started
;
; DATABASE_PATH=__/__ : path of database file, generated from configuration program
; (Siemens AG), e.g. "COM Profibus"
;
; FIRMWARE_PATH_A1=__/__ : path of the location of the A1-firmware file
; FIRMWARE_PATH_A2=__/__ : path of the location of the A2-firmware file
;
; WATCHDOG_TIME=0 : Watchdog deactivated
; WATCHDOG_TIME= : (1 to 65534) * 10 ms
;
; MAPPING_USED=0 : mapping functionality disabled
; MAPPING_USED=1 : mapping functionality enabled
;
; MAPPING_PATH=__/__ : path of the mapping table file, generated from
; "Transfer5614-Configuration" program (Siemens AG)
;
; DEACTIVATED_SLAVES=Modul_Address_X,Modul_Address_Y : Slaves which should be ignored at the start of the KRC,
; if they are not connected to the bus.
; This is needed for Slaves, which are in the database,
; projected in the IOSYS.INI, but not currently connected
; to the bus.
; Usefull for changing Slaves during the running KRC.
;WAIT_FOR_SLAVES=1 : Master waits until all Slaves Moduls are in state READY before he goes in state
; OPERATE (default).
;WAIT_FOR_SLAVES=0 : Master goes in state OPERATE without waiting for the Slave Moduls.
;-----------------------------------------------------------------------------------------------------------
[MASTER]
MASTER_USED=1
DATABASE_PATH=init/master.ldb
FIRMWARE_PATH_A1=drivers/FW_5613.bin
FIRMWARE_PATH_A2=drivers/FW5613A2.bin
WATCHDOG_TIME=3
MAPPING_USED=0
MAPPING_PATH=init/
;DEACTIVATED_SLAVES=1
WAIT_FOR_SLAVES=0
;-----------------------------------------------------------------------------------------------------------
; [SLAVE] section for Slave
;
; MODUL_USED=0 : Slavemodul will not be started
; MODUL_USED=1 : Slavemodul will be started
;
; START_TIME= >= 20 : The Slavemodul have to be in the DATA_EXCHANGE mode to
; compare the configuration data with the entries in the
; file IOSYS.INI. This time makes it shure.
;
; MODUL_ADDRESS=X : DP address of slavemodul, have to be the same as projected
; in the PB-Net.
;
; ERROR_ACTION=1 : The KRC1 will stop if the master of the slavemodul is in the
; state "CLEAR".
;
; ERROR_ACTION=0 : The KRC1 will not stop if the master of the slavemodul is in the
; state "CLEAR".
;
; STANDBY=0 : Standby mode: OFF (default)
; The slave needs a master while boot up. Otherwise the driver fails
; A driver reload necessary to start it again
;
; STANDBY=1 : Standby mode: ON
; The slave will stay in standby mode until a master allocates it
;
; SLAVE_TIMEOUT=0 : Slave timer : OFF (default)
; state changes of slave module are not checked
;
; SLAVE_TIMEOUT= : Slave timer : ON
; max. value of counter for cyclic slave state changes.
; If counter value is reached the driver is unloaded.
;
; CHECK_CONFIGURATION_DATA=0 : configuration data from the master
; to the slavemodul will not be checked
;
; CHECK_CONFIGURATION_DATA=1 : configuration data from the master
; to the slavemodul will be checked
;
; ACCEPTABLE_INPUT_LENGTH=X : max length of input data allowed for the slavemodul.
; if the slavemodul is seperated in several modules:
; max length of input data allowed for the moduls of the
; slavemodul
;
; ACCEPTABLE_OUTPUT_LENGTH=X : max length of output data allowed for the slavemodul.
; if the slavemodul is seperated in several modules:
; max length of output data allowed for the moduls of the
; slavemodul
;
;
; IO_DATA_BASE=0 : database is byte
; IO_DATA_BASE=1 : database is word
;
; CONSISTENCE=0 : data consistence is not guaranteed
; CONSISTENCE=1 : data consistence is guaranteed
;
;-----------------------------------------------------------------------------------------------------------
[SLAVE]
MODUL_USED=0
MODUL_ADDRESS=3
START_TIME=60
ERROR_ACTION=1
STANDBY=0
SLAVE_TIMEOUT=0
CHECK_CONFIGURATION_DATA=0
ACCEPTABLE_INPUT_LENGTH=244
ACCEPTABLE_OUTPUT_LENGTH=244
IO_DATA_BASE=0
CONSISTENCE=0
;-----------------------------------------------------------------------------------------------------------
; [SWAP] section for swapping high- and lowbyte, needed by some moduls (e.g. analog)
; - each slave has its own entry
; - example: INWORD_SLAVE_2=0,4
; INWORD_SLAVE_3=2
; OUTWORD_SLAVE_3=2
;
; INWORD_SLAVE_X=a : INWORD means, the data are read by the KRC1 from the slave
; : X is the DP Address of the slave
; : a is the offset of the word, which should be swapped.
; : if there are more then one word to swap within the same
; : slave, seperate the offsets with a comma
; : example: INWORD_SLAVE_5=2,8
;
; OUTWORD_SLAVE_X=a : OUTWORD means, the data are written by the KRC1 to the slave
; : X is the DP Address of the slave
; : a is the offset of the word, which should be swapped.
; : if there are more then one word to swap within the same
; : slave, seperate the offsets with a comma
; : example: OUTWORD_SLAVE_7=0,4
;
;-----------------------------------------------------------------------------------------------------------
[SWAP]
We rename it to kuka1.ldb, but the Kuka windows automatically copy the file into the krc system with master(.ldb) name. Yes you are right i just didn't have errors, but the profibus master slave button didn't light red i Can't attache my files.... the site says "invalid file extension". I tried to attached it as rar.. but the site says the same....
Any solution?
The only solution is if i copy the whole text here...
IOSYS.INI:
;==========================================================
; IOSYS.INI - Configuration file for the IO-System
;==========================================================
; For configuration help go to the end of this file.
;----------------------------------------------------------
; ATTENTION !!!! Since V5.0 Build13 we have removed the DeviceNet
; driver "dndrv.o". Now you have to use the driver
; "dn2drv.o" and the appropriate syntax (form 2)
[CONFIG]
VERSION=2.00
[DRIVERS]
;CNKE2=21,cnke2CPInit,cnke2drv.o
;DNSC6=20,dnsc6Init,dnsc6drv.o
;DNSC5=19,dnsc5Init,dnsc5drv.o
;DNSC4=18,dnsc4Init,dnsc4drv.o
;DNSC3=17,dnsc3Init,dnsc3drv.o
;CNKE1=16,cnke1CPInit,cnke1drv.o
;INTERBUSPCI=15,ibsCPPciInit,ibpcidrv.o
;DSEIO=14,dseIoInit,dseiodrv.o
;DNSC2=13,dnsc2Init,dnsc2drv.o
;DNSC1=12,dnsc1Init,dnsc1drv.o
PBMASL=11,pbmsInit,pfbmsdrv.o
;DEVNET=2,dnInit,dn2drv.o
;INTERBUS=1,ibusInit,ibusdrv.o
;MFC=0,mfcEntry,mfcdrv.o
[BOSCH]
;------- Inputs ---------
INW64=0 ;$IN[513-528]
;------- Outputs --------
OUTW64=0 ;$OUT[513-528]
OUTW66=2 ;$OUT[529-544]
[MFC]
INW0=0 ;$IN[1-16]
OUTW0=0 ;$OUT[1-16]
OUTW2=2 ;$OUT[17-32]
[INTERBUS]
;------- Inputs ---------
;Slave Inputs
INW50=896 ;$IN[401-416]
INW52=898 ;$IN[417-432]
INW54=900 ;$IN[433-448]
INW56=902 ;$IN[449-464]
;------- Outputs --------
;Slave Outputs
OUTW50=896 ;$OUT[401-416]
OUTW52=898 ;$OUT[417-432]
OUTW54=900 ;$OUT[433-448]
OUTW56=902 ;$OUT[449-464]
[DEVNET]
[PBMASL]
[DNSC1]
[DNSC2]
[DNSC3]
[DNSC4]
[DNSC5]
[DNSC6]
[DSEIO]
INDW0=0 ;$IN[1-32]
OUTDW0=0 ;$OUT[1-32]
[INTERBUSPCI]
;------- Inputs ---------
;Slave Inputs
INW50=896 ;$IN[401-416]
INW52=898 ;$IN[417-432]
INW54=900 ;$IN[433-448]
INW56=902 ;$IN[449-464]
;------- Outputs --------
;Slave Outputs
OUTW50=896 ;$OUT[401-416]
OUTW52=898 ;$OUT[417-432]
OUTW54=900 ;$OUT[433-448]
OUTW56=902 ;$OUT[449-464]
[CNKE1]
; =ConNo, additional offset,xSize
[CNKE2]
; =ConNo, additional offset,xSize
[VIO]
;INW0=0 ;$IN[1-16]
;INW8=2 ;$IN[65-80]
;OUTW0=0 ;$OUT[1-16]
;OUTW2=2 ;$OUT[17-32]
[O2I]
;INW4=0 ;$IN[33-48]
;INW6=2 ;$IN[49-64]
;OUTW4=0 ;$OUT[33-48]
;OUTW6=2 ;$OUT[49-64]
[IOLINKING]
[END SECTION]
;==========================================================
;Valid entries have the following formats.
;Arguments in squared brackets are optional.
;If nothing else is mentioned, arguments are decimal.
;Digital Inputs and Outputs:
;
; Form 1:
; {token}{offset}={byte}[,{multip}]
;
; {token} INB (byte), INW (word), INDW (double word)
; OUTB, OUTW, OUTDW
; {offset} byte offset of robot IO System (0..m)
; {byte} byte offset over all peripheral devices (0..m)
; Offset starts with 0 at the first device and
; ends with m at the end of the last device.
; {multip} creats n dataobjects of {token}
; Example:
; OUTW4=2,x3
; Three words of the periphery, starting at byte 2,
; are mapped to the outputs 33-80.
;
; Form 2:
; {token}{offset}={address},{byte}[,{multip}]
;
; {token} INB, INW, INDW, OUTB, OUTW, OUTDW
; {offset} byte offset of robot IO System
; {address} address of a peripheral device (0..m)
; driver specific information, see descr. below
; {byte} byte offset at this peripheral device (0..m)
; Offset starts with 0 at the every device
; driver specific information, see descr. below
; {multip} creats n dataobjects of {token}
; Example:
; INW4=10,0,x2
; Two words of the peripheral device with address 10 and
; up from byte 0 are mapped to the inputs 33-80.
;Analog Inputs and Outputs:
;
; Form 1:
; {token}{num}={byte},{res},{type}[,CAL{factor}]
;
; {token} ANIN or ANOUT
; {num} number of the analog channel (1..i)
; {byte} byte offset over all peripheral devices (0..m)
; Offset starts with 0 at the first device and
; ends with m at the end of the last device.
; {res} resolution of the analog value (number of bits)
; {type} type of analog value
; 0 : right justified without sign
; 1 : right justified with sign
; 2 : left justified without sign
; 3 : left justified with sign
; {factor} maximum analog value, decimal without prefix,
; hexadec. with prefix 0x or octal with prefix 0
; "CAL 0" or no entry sets factor to its maximum
; Example:
; ANIN1=10,12,3
; The analog input No.1 is used. The byte offset on
; peripheral side is 10, the resolution is 12 bit and the
; type of analog value is 3 (left justified with sign).
; The maximum binary analog value is 2047.
;
; Form 2:
; {token}{num}={address},{byte},{res},{type}[,CAL{factor}]
;
; {token} ANIN or ANOUT
; {num} number of the analog channel (1..i)
; {address} address of a peripheral device (0..m)
; driver specific information, see descr. below
; {byte} byte offset at this peripheral device (0..m)
; Offset starts with 0 at the every device
; driver specific information, see descr. below
; {res} resolution of the analog value (number of bits)
; {type} type of analog value
; 0 : right justified without sign
; 1 : right justified with sign
; 2 : left justified without sign
; 3 : left justified with sign
; {factor} maximum analog value, decimal without prefix,
; hexadec. with prefix 0x or octal with prefix 0
; "CAL 0" or no entry sets factor to its maximum
; Example:
; ANIN3=30,0,16,2,CAL 0x6C00
; The analog input No.3 is used. The device address is 30,
; the byte offset at this device is 0, the resolution is
; 16 bit and the type of analog value is 2 (left justified
; without sign). The maximum binary analog value is 27648.
; The CAL-factor is especially required in case of using
; Profibus analog modules.
;particularities:
;[MFC] MFC-IO with KRC1 / CAN-IO-Modul with KRC2
; Entries in form 1
;
;[INTERBUS/INTERBUSPCI] Interbus Phoenix Mast./Slave Cu/LWL
; Entries in form 1
; $IN/OUT[n_1]=(n+1)*8-7
; $IN/OUT[n_8]=(n+1)*8
;[DEVNET] DeviceNet on the KUKA MFC
; Entries in form 2 for driver dn2drv.o
; {address}=DeviceNet MACID
;[DNSC1] DeviceNet LPDN scanner channel 1
; Entries in form 2
; {address} = DeviceNet slave MACID
; {address} = MACID of CH1 ==> Slave part of LPDN CH1
;
;[DNSC2] DeviceNet LPDN scanner channel 2
; Entries in form 2
; {address} = DeviceNet slave MACID
; {address} = MACID of CH2 ==> Slave part of LPDN CH2
;
;[DNSC3] DeviceNet LPDN scanner channel 1
; Entries in form 2
; {address} = DeviceNet slave MACID
; {address} = MACID of CH1 ==> Slave part of LPDN CH1
;
;[DNSC4] DeviceNet LPDN scanner channel 2
; Entries in form 2
; {address} = DeviceNet slave MACID
; {address} = MACID of CH2 ==> Slave part of LPDN CH2
;
;[DNSC5] DeviceNet LPDN scanner channel 1
; Entries in form 2
; {address} = DeviceNet slave MACID
; {address} = MACID of CH1 ==> Slave part of LPDN CH1
;
;[DNSC6] DeviceNet LPDN scanner channel 2
; Entries in form 2
; {address} = DeviceNet slave MACID
; {address} = MACID of CH2 ==> Slave part of LPDN CH2
;
;[PBMASL] ProfiBus Siemens Master/Slave CP5614
; Entries in form 2
; {address} = Slave DP-address
; {address} = 127 ==> Slave part of CP5614
;
;[DSEIO] Digital inputs/outputs for KR C3A
; Entries in form 1
;
;[CNKE1] ControlNet 1784PCIC LP-Elektronik
; Entries in form 2
; {address} = ConNo
; {byte} = additional offset
;
;[CNKE2] ControlNet 1784PCIC LP-Elektronik
; Entries in form 2
; {address} = ConNo
; {byte} = additional offset
;
;[VIO] inputs/outputs for Virtual IO driver over TCP/IP
; Entries in form 1
;
;VIO=30,vioInit,vio_drv.o
;
;[O2I] inputs/outputs for 'output to input for software developers'
; Entries in form 1
;
;O2I=31,o2iInit,o2i_drv.o
;
;[IOLINKING] Outputs follow inputs
; Special form:
; $OUT[{bitoffset}]=$IN[{bitoffset}]
;
; {bitoffset} Bit(!)offset in the robot I/O-System,
; starting with 1 (1..MAXIO)
;
; Example: $OUT[512]=$IN[401]
; In this case output nr. 512 (bit 8 of byte 63)
; is linked to input nr. 401 (bit 1 of byte 50)
;
; Notes:
; IOLINKING means outputs follow inputs in the robot
; I/O-system (within ipo-cycle), regardless if they
; are mapped to drivers.
; Port ranges cannot be specified, each bit must be
; linked by itself.
; Only a maximum of MAX_IOLINKS can be configured (set
; in progress.ini, if this value is increased, robot
; functionality cannot be guaranteed!).
;----------------------------------------------------------
; 04/02/02 section [IOLINKING] added
Sorry guys, the website allows only one attachment, so i will post it separately.(maximum file size 8 MB, my rar is 31..
Yes your right sorry. i just told a number which would be good. 96 in and 96 output would be appropriate.
Which software did you use for creating .ldb file?
How much bytes did you configure in the .ldb file? (Screenshot of configuration in NCM Manager?)
What's the name of your .ldb file?
1.NCM PC Manager
2. In my next comment i will post everything what you ask.
Why did you change a working system? And why didn't you reverse the changes after making it not working?
You told me earlier try the system without this: example: INT30=3,0,x1. The system worked perfectly(Red light up continuously) If i typed this into the system throw back the error.
As is said after this comment i am going to save everything what you ask and i will post it in my next comment!
Thank you for your patience and much help too!
Wow guys, Thanks so much for your help. I am getting closely to understand this system. (little overthink these things )
if you need single i/o's only then byte is the best. Sometimes you may need also words (e.g. program or product numbers)
we always asked for an i/o map
If i think clear, i will need only single I/O (for instance:conveyors and sensors) and i will use this Signal declarition.
DEFFCT INT Tool_ID()
SIGNAL X1 $IN[1201] TO $IN[1204] ; low nibble
SIGNAL X10 $IN[1205] TO $IN[1208] ; high nibble
RETURN X10*10 + X1
ENDFCT
1.So do you have a gsd file for the turck module?
2.Did you create a .ldb file with NCM manager or Step7?
3.How many bytes I/O did you define in that project?
4.What's looking your pfbms.ini file?
1.Yes, we got (hardly) the .gsd file from turck.(they forgot to uppload it to their website )
2.Yes we create the .ldb file in the kuka windows, so we didn't have to copy it into the appropriate location( C:\KRC\Roboter\init), cause the system did it directly.
3.As i said earlier we don't know exactly right know, how much I/O we need. I try to calculate 100 inputs and 100 outputs, because of that above signal declarition.(Its just an example we need much more signal)
4. I don't understand clearly what is your question here. Can you explain it please?
And once again: it is not necessary to use INW in iosys.ini even if you want to use words or double words as integer signals in the robot. You can define every signals as bytes, and use them as whatever you want (single signal or integer with 2-32 bit length) in the signal declaration in $config.dat or other .dat file.
Thanks for the visualization and explain how to use it hermann, SkyeFire and MOM. I thought i have to use only 1 line the INB/W/DW or OUTB/W/DW , but if i can separate this clear as Skyefire iterpret for me, I will try this form tomorrow
I think i had this problem at Friday, because i tried the system without change something is[PBMASL] in iosys.ini and the system worked. After i typed in INW...... the system threw back the error message.
Otherwise we need this lost crystal ball.
Haha fine
So we have a Kuka KRC 2 KR180 which will be the master in this projekt.
We have a Turck (TX700) HMI PLC with a plug-in PROFIBUS-DP slave module.
The module type is: Turck TX-DP-S
The plug-in module can join back to the HMI PLC.
It's not so clear how much I/O need now, cause the PLC is not my territory. I asked them and they said reserve 100 in- and 100 output. That's will be enough.
As i said earlier that's my first projekt (what profibus makes it harder) , so if you said bytes better than world, i believe you
Think this has nothing to do with this INB/OUTB section.
First step is configuring the bus in PFBMS.ini and if you use the master with NCM-Manager or Step7.
For this you can leave the section [PBMASL] in iosys.ini empty, and you should get no error messages. When you don't have error messages, You can begin to create the INB/OUTB entries in iosys.ini.
So guys, the connection has been established. i Did what you tell me, thank you!
Furthermore, when is try to create the INB/OUTB section i got that error message what i wrote earlier.
I typed this into the iosys.ini(under PBMASL):
INW12=3,0,x6 -> $IN[97] .. $IN[192]
OUTW12=3,0,x6 $OUT[97]..$OUT[192]
These in/outputs would fully appropriate for me.(But why is it bad?What would be the correct form?)
i didn't understand why is it bad, therefore i searched on the forum. I find your earlier comment in an other topic. That's what your wrote. Can you explain it for me why is it bad if you mapp two Words?
"
Nope, You mapped two WORDS, not two bytes.
INW30=127,0,x2
means from (INW30) input 30*8+1 --> 241
two times (x2).
correct would be: INW30=127,0,x1
or INB30=127,0,x2
"
Thanks in advance!:)
I am really confused!
Hermann i tried, but i got the following problem from the robot:
Configuration error I/O driver CP561DRV
Error on writing, driver: CP561DRV
I tried to find what the problem is in the manual, but in vain
Do you know what problem is?