I am trying to find the used value of a Yaskawa MH12 with FS100 controller. It is in good working condition. Is asking 15K$ too much?
Posts by ashwinmudigonda
-
-
I have an MH12 robot on a FS100 controller. I am trying to use a gripper to pick parts and would like to use the shock setting as a sensor to help me stop an IMOV motion.
I have configured the shock sensitivity settings and call it with the SHCKSET command in the job. This is working as expected. My question is how do I capture the
ALARM 4315
COLLISION DETECTalarm and set a bit so that I can use it with an IMOV.
-
But these are dynamic points, not fixed.
I have a part. I compute the a pose above the part. And from there I want to explore in the tool frame by an offset.
So I cannot teach a P[1] position.
I changed it to
PR[8,0]=0
..
PR[8,3]=-25
..
PR[8,6]=0L PR[1] 50mm/sec FINE Tool_Offset,PR[8]
And now it goes in the tool frame, but it goes to PR[1] which is the pick point.
-
-
-
-
-
-
-
I figured that much through the manuals, but what do I add to the ladder?
Find the relay that matches teh input and connect it straight to the relay that matches the output?
I tried to map input 17 to output 17.
I added a rung and set the relay on the left to be 00030 and the one on the right to be 10030, but the ladder won't compile.
I also tried to set the relay on the right to be an OUT.
How would the program look like?
STR #00030
OUT #10030I tried doing the above in the mnemonic editing window, and could not get it to compile
-
-
I have a vision system that is communicating to the teach pendant the pose to go to via sockets. I pushed the (x,y,z,w,p,r) into PR[1] and am trying to use the J command to move the robot to it, but it throws an error on that line saying
INTP-311 Uninitialized data is used.
I recorded a position to set PR[1] to some value. That didn't help.
I also tried to assign PR[1] to another PR variable that is a constant. That also didn't help.How do I initialize this variable?
The details of the variable are
PR[1] UF: F UT: F CONF:FUT 127-1-
X 120.9 mm W 179.8
Y -1133.9 P 31.4
Z 352.9 R -176Reading another post, I made this modification to my KAREL program:
SET_POS_REG(1, poseToGo, status)
$UFRAME = $MOR_GRP[1].$NILPOS --For world.
$UTOOL = $MNUTOOL[1,1] -- where utool would be the tool the point used.I am still seeing the same error and the PR variable looks the same.
EDIT 1:
Further digging:The values of a PR variable that I have recorded and then am able to jog to look like this:
PR[3] UF:F UT:F CONF:NUT 000
When I set this to PR[1] and then run my code it is getting overwritten to FUT 127-1-
This could be the problem. How do I set it to NUT 000?
EDIT 2:
I figured it out:-- Write this value in PR[1]
poseToGo.config_data.CFG_TURN_NO1 = 0
poseToGo.config_data.CFG_TURN_NO2 = 0
poseToGo.config_data.CFG_TURN_NO3 = 0
poseToGo.config_data.CFG_FLIP = FALSE
poseToGo.config_data.CFG_UP = TRUE
poseToGo.config_data.CFG_FRONT = TRUEThis set the configuration correctly.
-
I am trying to do a SWITCH...CASE equivalent on a Register. I can't understand the syntax of the SELECT command. It seems different from the Karel SELECT ENDSELECT command. What is its syntax?
-
That didn't quite work. Here is the code snippet
Code
Display MoreSET_FILE_ATR(file_var, ATR_IA) SET_FILE_ATR(file_var,ATR_EOL) SET_VAR(entry, '*SYSTEM*','$HOSTC_CFG[1].$SERVER_PORT',NEO_PORT,status) WRITE('Port: ', NEO_PORT, CR) WRITE('VAR status: ',status,CR) response = 'ERROR' -- Connect the tag MSG_CONNECT('C1:',status) WRITE('Connect status: ',status,CR) loop1 = TRUE IF status = 0 THEN WHILE loop1 = TRUE DO OPEN FILE file_var('rw','C1:') status = IO_STATUS(file_var) IF status = 0 THEN WRITE file_var(request::126) WRITE('Wrote: ',request,CR) --WRITE('Waiting to read from server ', lengthToRead, CR) --READ file_var(response::lengthToRead) READ file_var(response) status = IO_STATUS(file_var) WRITE('Read status: ',status,CR) WRITE('Read: ',response,CR) loop1 = FALSE WRITE('Closed file.',CR) CLOSE FILE file_var ELSE WRITE('Error opening file',CR) loop1 = FALSE ENDIF ENDWHILE ENDIF
I tried commenting out the first file attribute too. That didn't work either.
-
-
-
I am working on writing a socket client on the FANUC side to talk to a Python server. I got the example code to work, but I am having issues with getting a random length string to be passed to and from.
Codetmp_str = 'Connect' WRITE file_var(tmp_str::126) WRITE('Wrote: ',tmp_str,CR) WRITE('Waiting to read from server...') READ file_var(tmp_str::126) status = IO_STATUS(file_var) WRITE('Read status: ',status,CR)
works if my Python server echoes the data back
But if I want the response from my server to be "Connect, 1"
Then the Karel client is stuck on "waiting to read from server..." because it is expecting more bytes. I tried to use BYTES_AHEAD to sniff how many bytes to read, but that function returned 0. However, if I change my READ to
it works fine. From the manual I thought the first format specifier was the number of bytes to read. This appears to be the length of the string. How do I know a prori the length of the input string buffer?
-
I am trying to create a single file for all the constants I'll need and refer to them in all the other files.
I created a GlobalVars.kl file that looks like
I created a QuickTest.kl that looks like:
CodePROGRAM QuickTest VAR maxSize FROM GlobalVars : INTEGER BEGIN WRITE('maxSize: ',maxSize,CR) END QuickTest
Both files compile fine, but when I run quicktest.pc, I get:
Intp-311 (Quick_Test, 7) uninitialized data is used.....abort all
How do I accomplish this?
-
I see. Thanks.
READ file_var(tmp_str::126) worked after ensuring WRITE also had the same format.
-
New issue: I am able to send a message, but not read.
Code
Display Moreloop1 = TRUE IF status = 0 THEN WHILE loop1 = TRUE DO WRITE('Opening file...',CR) OPEN FILE file_var('rw','C1:') status = IO_STATUS(file_var) IF status = 0 THEN tmp_str = 'RunJob' WRITE file_var(tmp_str) WRITE('Wrote: ',tmp_str,CR) WRITE('Waiting to read from server...') READ file_var(tmp_str) status = IO_STATUS(file_var) WRITE('Read status: ',status,CR) WRITE('Read: ',tmp_str,CR) loop1 = FALSE WRITE('Closed file.',CR) CLOSE FILE file_var ELSE WRITE('Error opening file',CR) loop1 = FALSE ENDIF ENDWHILE ENDIF
The python side has sent the 'RunJob' string back, but on the KAREL side, I see it stuck at
'Waiting to read from server...'