guonaldo2
-
Posts
11 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Downloads
Posts posted by guonaldo2
-
-
M-variables are defined to a memory location and will take that memory location's bit structure. An undefined M-variable is a 48-bit integer.
Hi steve.milici, I have another problem.
In the latest firmware, I43 has an additonal function which allows users to access the serial port in their own way.
Now, the main serial port has the 255-byte long commandbuffer:
X:$003600 … $0036FF
"Only the low byte (bits 0 – 7) of each word in the command and response queues is used."
I want to send the M162 (which stand for the actual position*Ixx08*32) through main serial port. And in my case, the motor will not exceed 360 degrees which means M162 will not exceeds 0x481200000 which is a integer of 36bit.
So if I define the M variable as follows :
M162->D:$00008B P1 = M162 M1->X:$003600,8 M2->X:$003601,8 M3->X:$003602,8 M4->X:$003603,8 M5->X:$003604,8 M6->X:$003605,8 M7->x:$003606,8 M100->X:$FFFFE6 M101->X:$FFFFE0,23
then:
M1 = P1%256 P1 = P1/256 M2 = P1%256 P1 = P1/256 M3 = P1%256 P1 = P1/256 M4 = P1%256 P1 = P1/256 M5 = P1%256 P1 = P1/256 M6 = P1%256 P1 = P1/256 M7 = '$'
and each time I have to DIVIDE 256 one by one. So does the second axis.
M100 = 7 M101= 0 M101 = 1 ;initiates the transmission of data
Is there any other easier way that I can choose? Or is there anything wrong with my code since the firmware of my clipper is updating in Deltatau.
-
You can control the serial port directly through a PLC. See the description of I43 in the Turbo Software Reference manual for implementation details.
Thanks. Is M variable 16bit or 32 bit? I want to use M variable to send the angle and speed.
-
the SENP"" command allows only one line at a time.
Any other solutions?
-
I62 permits the user to control whether internally generated messages sent from Turbo PMAC to the host
computer are terminated with the carriage return () character or not. If I62 is set to 1, the
is suppressed.
I64 permits PMAC to tag ASCII text lines that it sends to the host computer as a result of internal commands, so these can easily be distinguished from responses to host commands.
If I64 is set to 0, a text line sent in response to an internal PMAC command is not preceded by any special character.
Thanks. That's really helpful. Why not try further?
I wonder if clipper could send all the information I need in one package. When I look at the signal on the oscilloscope, they've been seperated since I used multi commands such as sendp commandp. So how do I transfer all the data in one package? Or what if I wrote my data into the serial send buffer?
Any possiable solutions?
-
I62 permits the user to control whether internally generated messages sent from Turbo PMAC to the host
computer are terminated with the carriage return () character or not. If I62 is set to 1, the
is suppressed.
I64 permits PMAC to tag ASCII text lines that it sends to the host computer as a result of internal commands, so these can easily be distinguished from responses to host commands.
If I64 is set to 0, a text line sent in response to an internal PMAC command is not preceded by any special character.
Thanks. That's really helpful. Why not try further?
I wonder if clipper could send all the information I need in one package. When I look at the signal on the oscilloscope, they've been seperated since I used multi commands such as sendp commandp. So how do I transfer all the data in one package? Or what if I wrote my data into the serial send buffer?
-
Ethernet response is affected by the operating system outside of PMAC's control.
You cold use the SENDP"" to 'mark' the responses as in:
OPEN PLC 0 CLEAR
SENDP"Axis1="
CMDP"P201"
SENDP"Axis2="
CMDP"P202"
SENDP"Axis3="
CMDP"P203"
Close
This would add extra time though.
Thanks! But 0x0D 0x02 are always added after every SENDP, how can I get rid of them?
BTW: If I use RS232 on the clipper and want to send the axis angle at 200hz from RS232, will PLC program fulfill the task exactly?
-
The delay will be a few milliseconds. When the PLC executes the CMDP"" statement, it puts the text inside the quotes into the command queue. In between PLC programs, it checks the command queue and executes any commands it finds there.
Thanks. Take a look at this thread. http://forums.deltatau.com/showthread.php?tid=1359
Can you help me? What should I do if I want a delay of less than 100us?
-
You would use the COMMANDP"..." with a PMAC variable that holds the data as the argument:
CMDP"P99"
This command in a PLC will send the value of P99 to the Ethernet/USB port. This will appear to the host computer as an unsolicited response.
How about the delay in response when using CMD P99 in PLC program?
-
I have a idea. What of I use CMDP"P201" in PLC program. Since I get multi axis, if I do as follows, I will not be able to distinguish each other
P201 Axis1
P202 Axis2
P203 Axis3
[undefined=undefined]
OPEN PLC 0 CLEAR
CMDP"P201"
CMDP"P202"
CMDP"P203"
Close[/undefined]
So what should I do if I want to add seperator between each axis and send them to upper computer?
e.g. My desired protocol
**Axis1//Axis2//Axis3**
-
Hello everyone,
I am using Clipper for my multi-axis control system. Since we did not purchase the DPRAM option, so I want use the Ethernet to get the current angle and velocity for further purpose.
For example , I wrote a PLC program to calculate the angle in arc-second and save it in P101. And I wrote a program in my upper computer which runs real time operating system constantly get the actual angle.
The result is that, there is a unbearable delay during the response. I send P101 to PMAC and wait for its return, it took about 1.5 ms!! I wonder if there is any good ways of getting the angle with less than 50us delay.
Thanks!
Problem in Ethernet Response
in Turbo PMAC
Posted
In the latest vesion of Turbo SRM, I saw an update as follows:
11
INCORPORATED V1.946-47 FIRMWARE UPDATES
ADDED TO I43 DESCRIPTION
FIXED TYPOGRAPHICAL ERRORS
12/19/12
CW
C. WILSON
This means that using I43, I can send the data as I want through serial port. Now the firmware version is V1.945. Is this function(I43) still available in this version? Or Should I update to V1.946 if I want to take advantage of the update?