TODOPIC
Mecatrónica => CNC - Control Numérico Computarizado => Mensaje iniciado por: rosli en 27 de Febrero de 2008, 18:20:55
-
hola he montado el modbus de siliconio (el de mpg+analogicas) y me encuentro que no se como direccionar los pines 10,12,13,14 y 15 de la placa. en el mach3
veo con el test-modbus que hay actividad en dichos pines ya que si los pongo a masa y leo los registros estos han cambiado pero si configuro en el mach3 un oemtriger y le doy como entrada port 0 pin 10 o alguno de los antes citados no funciona.
lo demas tanto analogicas como mpg y demas entradas ok.
saludos Josep.
-
Creo que tenes una confusión los pines 10,12,13,14 y 15 no so del MODBUS sino del pueto paralelo, son las 5 entradas que tiene el puerto paralelo que se pueden utilizar sin el modbus, fijate en le videotutorial del mach 3 de mi web como configurar esas entradas:
Una pregunta, el modbus que armaste en el que esta para descargar en la pagina www.frs-cnc.com? coloca unas imágenes a ver como te a quedado!!
Saludos
-
gracias por responder pero no tengo ninguna confusion. cuando me refiero a estos pines lo hago de la digamos foto que tiene siliconio en su pagina "modbus_pcb.pdf" la que se ve el pcb y los componenetes y en la que hay unas notas refiriendose donde conectar los potenciometros, mpg etc. y en ella figuran los numeros de entradas salidas de su placa.
lo que a mi me pasa es que todo ba bien hasta el pin 10 que esta en medio de dos entradas analogicas o sea pin 8 analogica 9,analogica 10 digital 11 analogica 12, 13,14, 15 digitales.
lo raro es que todas las que no van corresponden a un mismo port de pic16f876 por lo que pienso que hay o un problema mio que no se direccionar estos pines o un fallo de soft en el pic.
saludos Josep
-
AA OK, perdona el que se confundio fuy yo jejejeje
Saludos y espero que puedas hacerlo andar.
-
Nas a tod@s, primero presentarme ... jejeje hace mucho tiempo k hice el modbus y .. se puede deducir k en otros foros salgo como siliconio jejejej... hechas las presentaciones ... pos al tema ... las versiones de soft que hay colgadas tienen un pequeño bug ... pero no afectan en el funcionamiento basico... he de poner las k yo uso en el web pero la falta de tiempo .. y otras historias ... prometo ponerlas al dia. Esos pines que comentas son para usarlos como describe el PDF del pic en la version MPG y entradas analogicas... si miras las pistas veras directas al PIC... en las version 16 + 8 I/O son meras entradas digitales ...
Para usar con MACH3 (k por cierto hace meses k no lo uso y no se en la actualidad como estara el tema...) hay k hacerle un scrip (programilla en una especie de visualbasic) para que se ejecuten acciones especificas con los potenciometros / Entradas ... Salidas etc ... y recuerdo Xtal 4mhz. configword .. CP off WDT off PinRb3 Digital i/o (sino problemillas con la alternativa - se resetea el micro por corto al hacer I/O) y repito salvo algunos bugs tontos funciona (100%) esos bugs estan corregidos y solo falta ponerlos en descargas ... si alguno le urge emilio-me la placa no hay mod es solo en cuanto al soft ... Y solo para usar como hobby ... k no es ninguna virgueria.
Ale pos eso , K si kereis alguna aclaracion o explicacion y con permiso del moderador. Por aki ando un saludo a tod@s.
-
A ver, yo hice el Modbus de Siliconio y lo tengo funcionando en modo normal, aun sin MPG con solo 6 entradas usadas y va bien.
Yo necesito saber como van los Scripts para el uso del tema MPG y potenciometros y como seleccionar el eje que se debe mover cuando accione el mpg desde tres entradas del mismo Modbus.
Se que hay que hacer un Script pero no solo eso, hay que ajustar las opciones del MAch para que funcione todo, y en ese lio estoy, bueno, estare cuando tenga un hueco porque estoy liado reformando la fresadora y haciendo encoders para los ejes.
Me gustaria colaborar en lo que pudiese, si alguien sabe por donde empezar con esto.
-
Hola de nuevo Jose Manuel te mande un privado a traves de la web FRSCNC con esta consulta. pero no obtuve respuesta.
bien en primer lugar si me urge el codigo ya que estoy terminando de modificar un torno y aqui si es indispensable tener un MPG. tambien decirte que no utilizo el modbus para el MPG ya que lo probe y no me acabo de convencer por lo cual lo puse al puerto paralelo con lo que me quedo corto de entradas y por eso utilizo el modbus.
de este solo utilizo las 3 analogicas que controlan el feedrate, el spindle, y el modo del MPG, asi como las entradas digitales y las salidas para leds.
segun leo en el manual de los pines de la placa del 8 al 15 solo 3 son analogicas la 8 la 9 y la 11 el resto entiendo que son digitales ya que llevan su resistencia pull-down.
aclarame por favor si puedo usar como digital el resto de entradas que no son analogicas y como debo entrarlo al mach por ejemplo port "0" pin "15" por que lo he probado y no me funciona niguna de estas.
mi email gifre70@hotmail.com
saludos Josep
-
Para usar los pots .... es un poco complejo porque requiere una configuracion un poco rebuscada pero en fin intentare explicarlo .. hay que usar el macro pump del mach3 - hay k activarlo en el mach en la configuracion - y editar el fichero macropump.m1s del directorio C:\Mach3\macros\Mach3Mill (en el caso que sea una tableta 3d) si es un torno en C:\Mach3\macros\Mach3Turn.. para usar el MPG hay que configurar el mach para esto ... Hechale un viatazo al fichero macropump y asi afinaremos mas... para tu configuracion de todas formas k sepas k es un fichero k se ejecura en inicio del mach y esta continuamente ejecutandose...
Perdona Rosli pero no vi el privado no sabria decirte el motivo.. si es cierto que mach3 trabaja diferente e mpg desde modbus que desde puerto paralelo. pero eso es cosa de mach... el pic traga con encoders de 500 ppr por lo menos eso es lo k me han comentado aunque para un MPG yo uso un encoder de 24 ppr (raton viejo de bola) y el soft del PIC hace X4 24 * 4 = 96 ppr de encoder.y en principio las entradas de 0..16 tendrian que funcionar a mi si k me van... aunque yo lo configure hace mucho tiempo y uso el macropump tal y como tu lo configuras tendria que funcionarte si has activado todo el tema de modbus en el mach numero de registros ... etc.
-
Sigo preguntandome como seleccionais el eje que movera el MPG, yo lo que pretendo es hacerlo con tres entradas digitales del MODBUS pero ni idea de como.
Ademas me gustaria hacer que la velocidad cambiase con alguna de las analogicas.,
A ver si puedes ayudarme y asi pegandolo aqui nos sirve a todos.
Gracias
-
para asignar el eje a mover con el MPG... Hay varias formas... La que yo uso.
Con un potenciometro (an2) y asignando en el script ...macropump el rango de valores ... activo segun posicion del pot el eje a mover. OSEA que muevo un pot para seleccionar el eje con el que se movera con el MPG .(NOTA si le das a TAB te aparecera la pantallita del MPG del mach3) . CON EL TECLADO DEL PC ... ALT + A asignas el MPG al motor 1 . Eso es ya tema de aprender el mach... y aqui no creo k sea lugar para ello.... Otra es asignar en teclas la funcion a realizar k creo k es la k buscas. (hay que mirar los OEMS codes y asignarlo a esa tecla) ... mira en la wikipedia.
y como es un tema demasiado extenso para poder resumirtelo te envio si se puede, una posible configuracion del macropump... que creo que ya deje en el fichero comprimido... es un fichero de texto con un programa en VB que el mach interpreta y ejecuta continuamente como un proceso mas.
Aun a riesgo de que el moderador me tire de la orejas ... aqui pongo un ejemplo de script hecho por mi ademas si activas la opcio speak habla jejeje
' Ajuste para usar FeeddRate desde el potenciometro en an1
Option Explicit
Dim pot1, MPGAxis, DISTpaso, State, Rpm, Jog As Integer
'Inputs 64 es el pot 1, 65 el pot 2, 66 el pot 3
'Leds 83 Jog ON/OFF
'Este script se ejecuta continuamente y cuando el boton de jog esta activado ejecuta las funciones
'De momento no se como hacer para que hable en español He leido algo sobre
' tener instalado el officce pero no lo he comprobado.
If(GetOemLed(83)) Then ' Si el led jog esta activado
if (Jog = 0) then jog =1 : Speak " Welcome to siliconio modbus joging. Enjoy"
'funcion de analogica 1
pot1 = GetInput(64) + 1
pot1 = (pot1 * 200.0 ) / 1024.0
setDRO (21,pot1) ' El rengo es del 1% al 200%
'Selector de MOTOR en analogica 2
MPGAxis = GetInput( 65 ) 'analog Input 2
Select Case MPGAxis
Case < 170
'do nothing
State = 0
Case < 341
If GetOEMLED( 14 ) = 0 Then 'If not Set to Continuous Jog Mode
DoOEMButton( 276 ) 'Set Jog To continuous
End If
If State <> 1 Then
Speak "Cohnteenoo oh"
End If
State = 1
Case < 511
If GetOEMLED( 15 ) = 0 Then 'If not Set to Step Jog Mode
DoOEMButton( 275 ) 'Set Jog To Step
End If
If State <> 2 Then
Speak "Passos"
End If
State = 2
Case < 681
If GetOEMLED( 57 ) = 0 Then 'If not Set to MPG Jog Mode
DoOEMButton( 327 ) 'set Jog to MPG
End If
If GetOEMLED( 59 ) = 0 Then
DoOEMButton( 185 ) 'set MPG Jog to X
End If
If State <> 3 Then
Speak "ehehquees"
End If
State = 3
Case < 851
If GetOEMLED( 57 ) = 0 Then 'If not Set to MPG Jog Mode
DoOEMButton( 327 ) 'set Jog to MPG
End If
If GetOEMLED( 60 ) = 0 Then
DoOEMButton( 186 ) 'set MPG Jog to Y
Speak "eeh"
End If
State = 4
Case >= 851
If GetOEMLED( 57 ) = 0 Then 'If not Set to MPG Jog Mode
DoOEMButton( 327 ) 'set Jog to MPG
End If
If GetOEMLED( 61 ) = 0 Then
DoOEMButton( 187 ) 'set MPG Jog to Z
Speak "zehtah"
End If
State = 5
End Select
'Selector de distancia por paso en analogica 3
DISTpaso = GetInput( 66 ) 'analog Input 3
Select Case DISTpaso
Case > 930 DoOEMButton( 191 ) ' (1) valor maximo de la tabla de pasos 1024/11 = 93 inc de valor para detectar
Case > 837 DoOEMButton( 192 ) ' (2) Ver las definiciones en general config para las distancias configuradas
Case > 744 DoOEMButton( 193 ) ' (3) Ver definiciones de OEM bUttons en el wiki
Case > 651 DoOEMButton( 194 ) ' (4)
Case > 558 DoOEMButton( 195 ) ' (5)
Case > 465 DoOEMButton( 196 ) ' (6)
Case > 372 DoOEMButton( 197 ) ' (7)
Case > 279 DoOEMButton( 198 ) ' (8)
Case > 196 DoOEMButton( 199 ) ' (9)
Case > 093 DoOEMButton( 200 ) ' (10) Valor mas pequeño de la tabla
End Select
' Pruebas para revoluciones de mandrino
' uso la analogica 3 para esta prueba
Rpm = GetInput(66) ' 0..1023 * 30 -> daria un maximo de unas 30.000 rpm resolucion 30 rpm
Rpm = Rpm * 3.5 '
SetSpinSpeed( rpm ) ' test para poner velocidad rpm
'************************************************************************************************************
' Fin del script VB Salida segun estado del boton JOG
'************************************************************************************************************
else
if (Jog = 1) then jog =0 : Speak "Bye."
End If
-
VEnga mil gracias de nuevo, voy a estudiarmelo y aver si soy capaz
-
Nas a tod@s, primero presentarme ... jejeje hace mucho tiempo k hice el modbus y .. se puede deducir k en otros foros salgo como siliconio jejejej...
Un gusto tenerte por estos lados siliconio, yo la verdad no e experimentado mucho con el madbus asi que me mantengo al margen, cuando termine mi nueva máquina quiero agregarle el modbus asi que ya me ponfre a full en su momento.
Aun a riesgo de que el moderador me tire de la orejas ...
Para nada, gracias por el aporte!!
Saludos
-
Gracias a t@s.. Weno he estado repasando el tema ... lo tenia super olvidado... Al tema .. para hacer lo k kieres Algec es mas sencillo de lo k pinta .. se trata de usar las teclas OEM ...
en el mach3 --> config -> ports&pins -> Input Signals ... asignas puerto 0 y pin el k quieras asignar del modbus . en OEM Trig #1 hasta ... #15 (con esto le dices a mach que pin quieres usar para estas funciones y los estados logicos de control).
Y POR OTRO LADO asignaremos la funcion a ejecutar en ...
mach3 -> config -> System Hotkeys ... el numero que hay que meter en las trigger #1..#15 (una por tecla asociada) y es lo k hay que mirar en la wikipedia como OEM codes ... y claro esta a probar ... de esta forma cada vez que pulses esa tecla en el mando modbus se ejecutara en mach3 el comando o funcion asignada ... k puede ser tan complejo como ejecutar un iso de cambio de herramienta por ejemplo o tansimple como cambiar el eje de trabajo para el MPG .
TODO ESTO AL MARGEN del fichero macro PUMP ... que puede funcionar a la vez.
Espero que te sirva ... este ladrillazo :mrgreen:
-
Donde aprendisteis tanto? eso es justo lo que necesitaba, mil gracias a todos, voy a probarlo.
Ya tengo casi acabados los encoders que usare en cuanto tenga uno listo os pego el proceso de fabricacion y vereis que baratitos salen.
-
Weno hay te dejo algo de tarea :) ...
La k tu kieres es "Cycle axis controlled by MPG 1" (175)
http://www.artsoftcontrols.com/MachCustomizeWiki/index.php?title=OEM_Buttons
Ya tienes para probar cosillas :-/
-
y si lo quieres seleccionar directo a traves de una entrada prueba 259,260,261
por cierto polillo has probado algo de las famosas entradas 10,12,13,14,15 ???
saludos Josep
-
Lo siento Rosli todabia ando a medias ... cosas del curro k no me dejan tiempo ... tardare un poco ya k no estoy en mi casa estos dias ... ten un poco de paciencia. pls.
-
Mil gracias de nuevo, no me cansare de repetirlas.
El MPG esta casi listo, en unos dias probare a ver que tal va todo
-
Pues nada que ya teneis corregido y puesto al dia el fichero.... y lo que me comentabas rosli, de que iva a trompicones no es por el modbus es el XP .... tal vez andes justo de recursos ... o demasiada carga a la cpu, pienso yo. Por cierto Algec muy wapos esos encoders. te lo has currao. :-/
-
Hola polillo, gracias por avisar que ya hay una nueva versión.
Bueno ya que estamos algunas preg, tengo ganas de armarme uno, recien acabo e descargarlo. Cuales son las ultimas molificaciones? el lugar de conexión del MPG y el fichero Macropump.m1s no? hay algo mas?
Y otra consulta, yo quiero poner el MPG y solo un pote para el Feed rate, no puedo usar las otras dos entradas para los pote como digitales no?
Saludos
-
Pos nada al tema.
La version que hay colgada... Pines A y B del encoder a las entradas 1 y 2, que corresponden a RB0 y RB1 del pic (antes se usaban la rb6 y rb7) y por lo tanto el encoder es X1 y no X4 como anteriormente...
Si se pueden usar la analogicas como teclas en vez de un pot las ponemos a 0v (si te fijas en el esquema el pin esta a +5v via una res del array) solo que leeras 0x03ff (si mal no recuerdo) ó 0x0000 lo unico que en el macropump se le asigna la funcion y ya esta.
No me he fijado si en los bits de tecla cambia, pero si lo hace lo tendrias mucho mas facil ... asignacion directa a tecla. A lo que me referia, es que no se pueden usar, si ponemos un pot ... en ese pin.
Algun gazapo se me ha escapado .. eso seguro ... el Xtal es de 4 Mhz. la configuracion del pic para programar 0x3f7A.
Para asignacion de registros en el bus BAUD 19200 1N8 adrs slave 1 numero de registros 5 y poll 105 ms (esto es para el mach) 20 hz
(registros de ENTRADAS) con funcion modbus 0x03
adr+0 MPG word(16 bits) contador de posicion del mpg
adr+1 inputs word (16 bits) las teclas ... la tecla 1 y 2 corresponden al mpg señales a y b ... y en las AN les pasa lo mismo
adr+2 AN0 valor leido 0..1023
adr+3 AN1 igual
adr+4 AN3 igual
esto en el mach3 en modo test se ve muy facil
Y en cuanto a las salidas creo que es el registro 0 (adr+0) funcion modbus 0x06. Tendre k mirarlo que ya no me acuerdo ...
No esta implementado todo el protocolo del modbus ... solo he implementado las funciones que usaremos con el mach.
De todas formas todo es jugar con el... y Felices fresados....
-
Gracias por los datos!!
Te cuento que ya arme el modbus, ahora justamente lo estoy probando, empece con el hex de 16 entradas y 8 salidas para probar la placa.
Configure el mach como en las imágenes y todo OK, hago el tes y me lee FFFF, y si acciono algunas de las 16 entradas cambia este valor según que entrada accione.
Hasta ahi de 10, pero ahora configure en en por and pins estas entradas pero no me las toma, las configure como vos indicas, en la dirección del puerto 0 (cero) y pines del 0 al 16, pero no me lo toma, como que no esta leyendo continuamente el modbus.
Estoy usando la ultima version del mach.
Podrías darme una mano con esto? o alguien que halla usado el modbus?
Saludos
-
Hola!!!!
Ya lo solucione, cargue el HEX para usar el MPG y los potes y funciona bien, se ve que el otro ex tiene algún drama, o algo en el mach que hay que configurar distinto si solo queremos usar las entradas como digitales.
Lo que si un Pequeño problema, desde el test veo todo OK, pero seteando las entradas no me funcionan los pines 10, 12, 13, 14 y 15.
Saludos
-
Efectivamente un hex es para usar la placa como solo 16 entradas digitales y 8 salidas digitales lo que implica 1 registro en el modbus ... direccion 1 registro 0 -> 16 bits de entrada y en salida direccion 1 registro 0 8 bits ....
El otro hex es el que maneja el MPG y las analogicas ademas de las digitales ... y logicamente se necesitan mas registros "logicos" para leer mas parametros. Cosa comentada un par de post mas arriba.
Bien otro tema, lo de las entradas que no ves ... pues si en modo test ves como cambian los bits no es cosa de la placa, si no mas bien de configuracion del mach. Dejame mirarlo mas a fondo y te comento algo.... por que en algun lado estara el tema...
Loco me tiene el tema... la placa bien .. el soft del pic correcto .... ademas, todos los test con diferentes lectores de modbus correcto... el problema tiene que radicar en el propio mach... en el modo necesario para usar el MPG las entradas (pines 8..15) se leen siempre a 0 mi sospecha es que sea el driver del mach el problema. Solo trata los 8 bits mas bajos y los 8 mas altos de los 16 los pone a 0.
Bien tengo algo mas claro por que esta pasando esto ... es cosa de configuracion en el mach3 y tema para investigar ... hay un plugin de un tal Brian que es configurable ... es cuestion de incarle el diente, y alguna cosa he conseguido hacer, como usar el mpg y las dichosas teclas ... aunque es muy lioso y no sabria ni explicar como lo he conseguido ... pero poder se puede.
-
Weno k no dejo el tema de la mano... sigo en ello... y averiguado.... y haciendo un plugin ... (pasando del MODIO del mach)
Despues de mirarme y remirarme un monton de ficheros blablabla.h y blabla.cpp veo un sorprendente SHORT (8bits) ... en una de las definiciones de buffer de modbus .... y no lo que yo esperaba INT (16bits) ... osea que lee los 16 bits del modbus pero cuando los deja en el buffer --- recorta el byte alto --- :( confirmando mis sospechas .... :?
Leido esto ... me pongo con las manos en la masa de hacer un plugin.... (esta funcionando a un 90 %) leo ya las 11 teclas 3 analogicas y el MPG (este por otro lado sin el plugin) ... y solo faltan las salidas para tener un primer plugin independiente para la placa modbus ... que para el que no sepa de que va sirve para hacer un control remoto para la fresadora... entre otras cosas.
Cuando lo tenga utilizable ya avisare para que los que esteis interesados...
Un saludo
-
Hola SILICONIO, que buena noticia! Me alegro que le sigas metiendo a eso.
Gracias.
Saludos
-
Pues Ale ... ya teneis disponible la version 2.00 .... que ire mejorando en lo posible ... y esta vez si k si todas todas las teclas.... con un driver propio. Y gracias a todos que de una forma u otra me ayudais a mejorar el jugete :-).
Se queda con 11 teclas + 3 simuladas (las de la Analogicas como teclas), 1 MPG X1, y 3 Analogicas... Creo que para un mando de Nonio electronico para el mach3 se queda bien. Hombre... estaria muy bien poner un display.... y por que no? ... todo se andara.... :D
Felices fresados a tod@s.
-
HOLA!
Que bueno! me alegra, ya lo voy a probar cuando tenga un poco de tiempo y cuento como me fue.
Saludos y GRACIAS!