<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Jirawat Buddee on Medium]]></title>
        <description><![CDATA[Stories by Jirawat Buddee on Medium]]></description>
        <link>https://medium.com/@wptd?source=rss-879685cbce95------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Stories by Jirawat Buddee on Medium</title>
            <link>https://medium.com/@wptd?source=rss-879685cbce95------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 27 May 2026 17:25:55 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@wptd/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Robot Fanuc Fine tune speed]]></title>
            <link>https://medium.com/@wptd/robot-fanuc-fine-tune-speed-e37a354d0e91?source=rss-879685cbce95------2</link>
            <guid isPermaLink="false">https://medium.com/p/e37a354d0e91</guid>
            <dc:creator><![CDATA[Jirawat Buddee]]></dc:creator>
            <pubDate>Mon, 14 Oct 2024 09:51:41 GMT</pubDate>
            <atom:updated>2024-10-14T09:51:41.554Z</atom:updated>
            <content:encoded><![CDATA[<p>Robot Fanuc Fine tune speed</p><p>### 1. **Adjusting Joint Speed (Using the Teach Pendant)**</p><p>. — **Step 1:** Access the **Teach Pendant**.</p><p>. — **Step 2:** Navigate to the program where the robot’s movement is defined (usually in the `EDIT` or `SELECT` menu).</p><p>. — **Step 3:** Locate the movement command that controls the specific motion of Axis 4. It will look something like:</p><p>. ```</p><p>. J P[1] 50% CNT100</p><p>. ```</p><p>. — Here, `J` indicates joint movement, `P[1]` is the position, and `50%` is the joint speed.</p><p>.</p><p>. — **Step 4:** Modify the speed percentage for the joint motion. For example, to increase the speed of the entire joint motion, change the percentage from `50%` to `80%` or even `100%`:</p><p>. ```</p><p>. J P[1] 80% CNT100</p><p>. ```</p><p>. This command will make the robot joints, including Axis 4, move faster toward the target position.</p><p>### 2. **Fine-Tuning Parameters for Axis 4 (Using the Teach Pendant)**</p><p>. To specifically fine-tune the parameters of Axis 4, you will need to access the system variables that control each axis’ speed and acceleration.</p><p>. — **Step 1:** Press `MENUS` on the Teach Pendant.</p><p>. — **Step 2:** Navigate to `SYSTEM` and select `VARIABLES`.</p><p>. — **Step 3:** Search for parameters related to joint speeds and acceleration. Specifically, look for parameters under the `\$PARAM_GROUP` and `\$MOTN_OVRD` for motion and override controls.</p><p>. — **Step 4:** Adjust the **ACCEL** and **DECEL** parameters for Axis 4. For example:</p><p>. ```</p><p>. \$ACCEL[4] = (New Value)</p><p>. \$DECEL[4] = (New Value)</p><p>. ```</p><p>. These parameters control how fast the robot accelerates and decelerates during movement, which can help speed up rotations if the deceleration is too slow.</p><p>### 3. **Adjusting Payload Settings (If Necessary)**</p><p>. Incorrect payload settings can also affect the speed of Axis 4, especially during large rotational movements. To check or adjust the payload:</p><p>. — **Step 1:** Press `MENU` on the Teach Pendant.</p><p>. — **Step 2:** Go to `STATUS`, then `AXIS` to check the payload settings.</p><p>. — **Step 3:** Adjust the payload according to the actual weight being handled by the robot to ensure that the system isn’t limiting the speed based on an overly cautious payload setting.</p><p>### 4. **Testing and Fine-Tuning**</p><p>. After making the adjustments:</p><p>. — **Test the robot’s movement** by running the program and observing whether Axis 4 rotates faster.</p><p>. — If necessary, **further increase the joint speed** or tweak the parameters until you achieve the desired performance.</p><p>### Example:</p><p>If you have a joint motion command like this:</p><p>```</p><p>J P[2] 60% CNT100</p><p>```</p><ul><li>You can increase the speed percentage:</li><li>```</li><li>J P[2] 90% CNT100</li><li>```</li></ul><p>Or, if Axis 4 specifically needs more acceleration, you can go into `VARIABLES` and adjust:</p><p>```</p><p>\$ACCEL[4] = 1.5. (Increase value to speed up)</p><p>\$DECEL[4] = 1.5. (Increase value to reduce slowing down time)</p><p>```</p><p>By fine-tuning these parameters, Axis 4 should rotate faster and more efficiently. Let me know if you need further details on accessing these settings!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e37a354d0e91" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ROBOT ABB Monitoring and used signal.]]></title>
            <link>https://medium.com/@wptd/robot-abb-monitoring-and-used-signal-70bfa1064eff?source=rss-879685cbce95------2</link>
            <guid isPermaLink="false">https://medium.com/p/70bfa1064eff</guid>
            <dc:creator><![CDATA[Jirawat Buddee]]></dc:creator>
            <pubDate>Sat, 12 Oct 2024 06:16:53 GMT</pubDate>
            <atom:updated>2024-10-12T06:16:53.915Z</atom:updated>
            <content:encoded><![CDATA[<p>### 1. **I/O Signal Monitoring**</p><p>. You can use the **I/O Signal Monitoring** feature in RobotStudio to track down how the output signal is being controlled in real-time.</p><p>. #### Steps:</p><p>. — Go to the **Controller** tab in RobotStudio.</p><p>. — Click on **I/O** and open the **I/O Monitor** window.</p><p>. — Search for the specific output signal (e.g., `doSignal1`) in the I/O list.</p><p>. — Observe its behavior in real-time to see if it’s being triggered by a task or a manual input.</p><p>. — Check the **Source** column in the I/O Monitor to see where the signal is mapped or if any internal logic is associated with it.</p><p>. This can help determine if the signal is being triggered by an external system or device.</p><p>### 2. **Trace Signals Using the “Watch Window”**</p><p>. You can track down signal usage by adding the signal to the **Watch Window** during simulation or live program execution.</p><p>. #### Steps:</p><p>. — Go to the **RAPID** tab in RobotStudio and open the **Watch Window**.</p><p>. — Add the signal (e.g., `doSignal1`) to the Watch Window.</p><p>. — Run the simulation or program and observe the real-time behavior of the signal. The Watch Window allows you to see when the signal is being activated or deactivated, which can provide clues about which part of the code or task is controlling it.</p><p>.</p><p>. If the signal is changing during execution but you can’t find it in the code, it could be controlled by a background task or an event handler.</p><p>### 3. **Search in System Modules**</p><p>. If the output signal is not in your main program, it could be located in **system modules** or **background tasks** (like **Automatic, Semi-Automatic**, or **Manual** modes). System modules are predefined routines or logic that control specific behaviors in the robot.</p><p>. #### Steps:</p><p>. — Go to the **Controller** tab and select **Modules** &gt; **System Modules**.</p><p>. — Search through these system modules (which may not be part of your main program) to see if any reference the output signal.</p><p>. — System modules often contain important logic that may trigger outputs based on conditions outside the main RAPID program.</p><p>### 4. **Event Log Monitoring**</p><p>. ABB robots often log important system activities, including output signal changes. You can check the **Event Log** to see if any system events are triggering the output signal.</p><p>. #### Steps:</p><p>. — Go to the **Controller** tab and select **Event Log**.</p><p>. — Filter or search for your output signal (`doSignal1`) in the log to see if there are any messages related to its activation or deactivation.</p><p>. — This may help identify whether the signal is being triggered by a specific event or system condition (e.g., a safety stop or a sensor input).</p><p>### 5. **Check Background Tasks or Service Routines**</p><p>. Some signals may be controlled by **background tasks** or **service routines** that run continuously and are not immediately visible in the main RAPID code. These background tasks could control I/O signals in response to external inputs or system conditions.</p><p>. #### Steps:</p><p>. — Go to **Controller** &gt; **Tasks** in RobotStudio.</p><p>. — Check if there are any **background tasks** (such as service routines) that are running.</p><p>. — Open and inspect the code in these background tasks to see if your output signal is referenced.</p><p>### 6. **Use the Cross-Connection Functionality**</p><p>. In ABB robots, **cross-connections** can be used to link I/O signals to other I/O, without directly coding it in RAPID. Cross-connections can automatically map inputs to outputs or link specific signal actions.</p><p>. #### Steps:</p><p>. — Open the **Controller** tab.</p><p>. — Navigate to **Configuration** &gt; **I/O System** &gt; **Cross Connections**.</p><p>. — Check if the output signal (e.g., `doSignal1`) is linked to any cross-connections that might control it without explicitly coding it in the main RAPID program.</p><p>. — If a cross-connection exists, it will show you the input or trigger that is activating the output signal.</p><p>### 7. **System Parameters and I/O Mappings**</p><p>. It’s possible that the output signal is being triggered by an external device or system through I/O mapping. If the output signal is mapped to external devices, like a PLC or another controller, these devices may be sending signals that activate it.</p><p>. #### Steps:</p><p>. — Go to the **Controller** tab &gt; **Configuration** &gt; **I/O Mapping**.</p><p>. — Search for the output signal (e.g., `doSignal1`) and see what it is mapped to.</p><p>. — If the signal is linked to an external device or another system, the mapping will show you the source of the signal control.</p><p>. — This could explain why the signal is turning on and off without direct control from the RAPID program.</p><p>### Conclusion:</p><p>If the output signal is still being triggered and you cannot find its source in the RAPID code, it’s highly likely that the signal is being controlled by:</p><ul><li>**Background tasks or system modules**.</li><li>- **Cross-connections** or **I/O mappings**.</li><li>- **External devices** (like PLCs or sensors) sending commands to the robot controller.</li></ul><p>By using these additional tools like the **I/O Monitor**, **Watch Window**, **System Modules**, and **Cross Connections**, you should be able to track down the source of the signal and understand why it’s turning on and off during the program run. Let me know if you need more detailed guidance on any of these steps!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=70bfa1064eff" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Complete Reset]]></title>
            <link>https://medium.com/@wptd/complete-reset-b47f7584232a?source=rss-879685cbce95------2</link>
            <guid isPermaLink="false">https://medium.com/p/b47f7584232a</guid>
            <dc:creator><![CDATA[Jirawat Buddee]]></dc:creator>
            <pubDate>Sat, 12 Oct 2024 05:11:20 GMT</pubDate>
            <atom:updated>2024-10-12T06:17:30.681Z</atom:updated>
            <content:encoded><![CDATA[<h2>Robot ABB Complete Reset</h2><p>### 1. **Reset the Virtual Controller (Cold Start)**</p><p>Sometimes the virtual controller in RobotStudio might load the task as running, even from a backup. A cold start resets everything.</p><ul><li>**Go to the Controller tab** in RobotStudio.</li><li>- **Click on “Restart Controller”** (this will bring up a dialog).</li><li>- Select **Cold Start** (this is a full reboot of the virtual controller and should stop all tasks).</li><li>- After the cold start, try editing the program again.</li></ul><p>### 2. **Release the Program Pointer**</p><p>The program pointer might still be active due to some leftover state in the controller. You can manually reset it.</p><ul><li>**Go to the FlexPendant** in RobotStudio or on the physical device.</li><li>- Navigate to **Program Control** and find the option to **Set PP to Main**. This moves the Program Pointer (PP) to the start of the program.</li><li>- After setting PP to Main, try to edit the program.</li></ul><p>### 3. **Deactivate Automatic Tasks (or Motors Off)**</p><p>Even if you’re in manual mode, there could be an automatic task running in the background that prevents you from editing.</p><ul><li>**Go to the Controller tab** in RobotStudio.</li><li>- **Open the Tasks tab** and ensure that no background tasks are running.</li><li>- You can also use **Motors Off** (found in the FlexPendant or under the Controller tab) to ensure the system is fully stopped.</li></ul><p>### 4. **Check for “Protect Program” Settings**</p><p>In some backups or systems, programs might be protected from being edited unless a special “edit” mode is activated.</p><ul><li>Check the **Configuration Files (EIO, SYS, etc.)** in the backup to see if any program protection settings are enabled. You can open these files via the **RAPID Editor** and check if certain routines or tasks are flagged as protected.</li><li>- You can try setting the **write permissions** of these programs to allow editing.</li></ul><p>### 5. **Recreate a New Virtual Controller from the Backup**</p><p>If none of the above solutions work, it’s possible the issue lies with how the virtual controller was created from the backup. You can try to recreate the virtual controller.</p><ul><li>**In RobotStudio**, click on **File** &gt; **New Station**.</li><li>- Select **Create a New Virtual Controller**.</li><li>- Load the backup files into this new virtual controller.</li><li>- Once it’s created, try to edit the program in this new environment.</li></ul><p>### 6. **Check Task State in “Program Data”**</p><p>Sometimes the task state remains active if there is a mismatch in system data. You can reset it:</p><ul><li>Open the **Program Data** from the FlexPendant or the RobotStudio interface.</li><li>- Look for the specific task that you are trying to edit, and check its **status**.</li><li>- Manually reset the task state to “Inactive” if it is showing as running.</li></ul><p>Let me know if any of these steps help! If you still encounter issues, there might be a deeper issue related to the backup file or system configuration.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b47f7584232a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Robot ABB Tap routine]]></title>
            <link>https://medium.com/@wptd/robot-abb-tap-routine-385dacee73f8?source=rss-879685cbce95------2</link>
            <guid isPermaLink="false">https://medium.com/p/385dacee73f8</guid>
            <dc:creator><![CDATA[Jirawat Buddee]]></dc:creator>
            <pubDate>Sat, 12 Oct 2024 04:59:02 GMT</pubDate>
            <atom:updated>2024-10-12T04:59:02.772Z</atom:updated>
            <content:encoded><![CDATA[<p>Robot ABB Tap routine</p><p>### **Trap Routine**</p><p>A **Trap Routine** in ABB is a special routine that is triggered by an event or signal (e.g., an input signal, a timer, or an error condition). Once the event occurs, the robot will pause its main task, run the Trap Routine, and then return to the main program.</p><p>#### Key Concepts:</p><ol><li>**Trap Declaration**: You declare a trap using the `TRAP` keyword in the RAPID programming language.</li><li>2. **Triggering the Trap**: The trap is triggered by certain conditions, like a digital input or other system events.</li><li>3. **Return to Main Program**: After the trap routine executes, the robot will return to where it left off in the main program.</li></ol><p>Example:</p><p>```rapid</p><p>TRAP MyTrap</p><p>. ! Code to execute when trap is triggered</p><p>. StopMove;</p><p>. WaitUntil input_signal;</p><p>. Resume;</p><p>ENDTRAP</p><p>CONNECT input_signal, MyTrap;</p><p>```</p><p>This would stop the robot’s movement when the signal is received and then resume once a certain condition is met.</p><p>### **Interrupts**</p><p>ABB robots can also use **interrupts** to handle specific events during execution. Interrupts are used to monitor signals or conditions, and when an interrupt is triggered, a predefined routine is executed immediately.</p><p>#### Example of Interrupt Use:</p><p>```rapid</p><p>VAR intnum my_interrupt;</p><p>. PROC main()</p><p>. ! Define an interrupt</p><p>. ISignalDI diInput1, 1, my_interrupt;</p><p>. ! Assign a procedure to run when the interrupt is triggered</p><p>. CONNECT my_interrupt, interrupt_handler;</p><p>. ENDPROC</p><p>. PROC interrupt_handler()</p><p>. ! Code to run when the interrupt is triggered</p><p>. StopMove;</p><p>. ENDPROC</p><p>```</p><ul><li>`ISignalDI` sets up an interrupt based on a digital input.</li><li>- `CONNECT` links the interrupt to the handler procedure.</li></ul><p>### Differences from FANUC Background Logic:</p><ul><li>**Trap Routines** in ABB are similar to FANUC’s **background logic** in that they allow tasks like monitoring or handling signals to run alongside the main program. However, instead of continuously running in the background, traps or interrupts are event-driven and are triggered by specific conditions.</li><li>- ABB robots use **RAPID programming**, which is more structured compared to FANUC’s TP language.</li></ul><p>Would you like to delve deeper into Trap Routines or Interrupts in RAPID programming?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=385dacee73f8" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Hello My name is Jirawat.]]></title>
            <link>https://medium.com/@wptd/hello-my-name-is-jirawat-edc4ccb5812f?source=rss-879685cbce95------2</link>
            <guid isPermaLink="false">https://medium.com/p/edc4ccb5812f</guid>
            <dc:creator><![CDATA[Jirawat Buddee]]></dc:creator>
            <pubDate>Sun, 06 Oct 2024 15:54:32 GMT</pubDate>
            <atom:updated>2024-10-06T15:54:32.513Z</atom:updated>
            <content:encoded><![CDATA[<img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=edc4ccb5812f" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>