{"id":3228,"date":"2026-05-28T06:43:54","date_gmt":"2026-05-28T06:43:54","guid":{"rendered":"https:\/\/tcpel.net\/?page_id=3228"},"modified":"2026-05-28T07:30:25","modified_gmt":"2026-05-28T07:30:25","slug":"feedstock-readiness-checker","status":"publish","type":"page","link":"https:\/\/tcpel.net\/id\/home\/feedstock-readiness-checker\/","title":{"rendered":"Pemeriksa Kesiapan Bahan Baku"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-a3d1732\" data-block-id=\"a3d1732\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-a3d1732-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-ec6ee99\" data-v=\"4\" data-block-id=\"ec6ee99\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-ec6ee99-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-ec6ee99-inner-blocks\"><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-690432f\" data-block-id=\"690432f\"><style>.stk-690432f-column{--stk-columns-spacing:var(--stk--preset--spacing--50, 1.5rem) !important;}<\/style><div class=\"stk-row stk-inner-blocks has-text-align-center stk-block-content stk-content-align stk-690432f-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-2d39055\" data-v=\"4\" data-block-id=\"2d39055\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-2d39055-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-2d39055-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-3a0544d\" data-block-id=\"3a0544d\"><style>.stk-3a0544d {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-3a0544d-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-2133db8\" data-v=\"4\" data-block-id=\"2133db8\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-2133db8-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-2133db8-inner-blocks\">\n<div id=\"tcpel-fsrc-wrapper\">\n<style>\n  \/* \u5168\u5c40\u91cd\u7f6e\u4e0e\u57fa\u7840\u53d8\u91cf (\u4ec5\u9650\u6a21\u5757\u5185\u90e8) *\/\n  #tcpel-fsrc-wrapper {\n    --fsrc-p: #0078C0;\n    --fsrc-s: #006030;\n    --fsrc-ink: #13252f;\n    --fsrc-bg: #f8f9fa;\n    --fsrc-bd: #d6e1e8;\n    --fsrc-mut: #5a6b75;\n    --fsrc-ok: #16A56A;\n    --fsrc-warn: #D4A012;\n    --fsrc-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;\n    width: 100% !important;\n    background-color: var(--fsrc-bg) !important;\n    border-top: 1px solid var(--fsrc-bd) !important;\n    border-bottom: 1px solid var(--fsrc-bd) !important;\n    font-family: inherit;\n    color: var(--fsrc-ink);\n  }\n\n  \/* \u5185\u5c42\u5e03\u5c40\u63a7\u5236 *\/\n  #tcpel-fsrc-wrapper .tcpel-fsrc-inner {\n    max-width: 1600px !important;\n    margin: 0 auto !important;\n    padding-inline: clamp(20px, 4vw, 60px) !important;\n    padding-block: clamp(40px, 6vw, 70px) !important;\n  }\n\n  \/* \u6807\u9898\u4e0e\u63cf\u8ff0 *\/\n  #tcpel-fsrc-wrapper .tcpel-fsrc-header {\n    margin-bottom: 40px !important;\n    border-left: 4px solid var(--fsrc-p) !important;\n    padding-left: 20px !important;\n  }\n  #tcpel-fsrc-wrapper h1.tcpel-fsrc-h1 {\n    margin: 0 0 12px 0 !important;\n    font-size: clamp(38px, 4vw, 48px) !important;\n    font-weight: 700 !important;\n    line-height: 1.1 !important;\n    color: var(--fsrc-p) !important;\n    text-transform: capitalize !important;\n  }\n  #tcpel-fsrc-wrapper p.tcpel-fsrc-desc {\n    margin: 0 !important;\n    font-size: clamp(16px, 1.5vw, 18px) !important;\n    font-weight: 500 !important;\n    color: var(--fsrc-mut) !important;\n    line-height: 1.5 !important;\n  }\n\n  \/* \u6838\u5fc3\u4e24\u5217\u7f51\u683c *\/\n  #tcpel-fsrc-wrapper .tcpel-fsrc-grid {\n    display: grid !important;\n    grid-template-columns: 1.2fr 1fr !important;\n    gap: clamp(30px, 4vw, 60px) !important;\n    align-items: stretch !important;\n  }\n\n  \/* \u5de6\u4fa7\u8868\u5355\u9762\u677f *\/\n  #tcpel-fsrc-wrapper .tcpel-fsrc-panel {\n    background: #ffffff !important;\n    border: 1px solid var(--fsrc-bd) !important;\n    padding: clamp(24px, 3vw, 40px) !important;\n    position: relative !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-panel::before {\n    content: \"\";\n    position: absolute;\n    top: 0; left: 0; width: 100%; height: 3px;\n    background: var(--fsrc-p);\n  }\n  \n  #tcpel-fsrc-wrapper .tcpel-fsrc-group {\n    margin-bottom: 24px !important;\n  }\n  #tcpel-fsrc-wrapper label.tcpel-fsrc-label {\n    display: flex !important;\n    justify-content: space-between !important;\n    align-items: center !important;\n    font-size: 13px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n    text-transform: uppercase !important;\n    color: var(--fsrc-ink) !important;\n    margin-bottom: 10px !important;\n  }\n  #tcpel-fsrc-wrapper label.tcpel-fsrc-label span {\n    font-family: var(--fsrc-mono);\n    color: var(--fsrc-p);\n    font-size: 11px !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-input {\n    width: 100% !important;\n    height: 52px !important;\n    font-family: var(--fsrc-mono) !important;\n    font-size: 15px !important;\n    color: var(--fsrc-ink) !important;\n    background: #fbfdff !important;\n    border: 1px solid var(--fsrc-bd) !important;\n    padding: 0 16px !important;\n    outline: none !important;\n    border-radius: 0 !important;\n    -webkit-appearance: none !important;\n    appearance: none !important;\n    box-sizing: border-box !important;\n    transition: border-color 0.2s ease !important;\n    cursor: pointer !important;\n    position: relative !important;\n    z-index: 10 !important;\n  }\n  #tcpel-fsrc-wrapper select.tcpel-fsrc-input {\n    background-image: url(\"data:image\/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%230078C0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E\") !important;\n    background-repeat: no-repeat !important;\n    background-position: right 16px top 50% !important;\n    background-size: 10px auto !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-input:focus {\n    border-color: var(--fsrc-p) !important;\n    box-shadow: inset 0 0 0 1px var(--fsrc-p) !important;\n  }\n  \n  #tcpel-fsrc-wrapper .tcpel-fsrc-btn {\n    width: 100% !important;\n    height: 56px !important;\n    font-size: 15px !important;\n    font-weight: 700 !important;\n    letter-spacing: 0.02em !important;\n    color: #fff !important;\n    background: var(--fsrc-ink) !important;\n    border: none !important;\n    cursor: pointer !important;\n    border-radius: 0 !important;\n    transition: background 0.2s ease !important;\n    margin-top: 10px !important;\n    position: relative !important;\n    z-index: 10 !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-btn:hover {\n    background: var(--fsrc-p) !important;\n  }\n\n  \/* \u53f3\u4fa7\u7ed3\u679c\u533a *\/\n  #tcpel-fsrc-wrapper .tcpel-fsrc-output-area {\n    display: flex !important;\n    flex-direction: column !important;\n    justify-content: space-between !important;\n  }\n  \n  #tcpel-fsrc-wrapper .tcpel-fsrc-dynamic-box {\n    background: #ffffff !important;\n    border: 1px solid var(--fsrc-bd) !important;\n    padding: clamp(24px, 3vw, 40px) !important;\n    min-height: 240px !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-verdict {\n    font-family: var(--fsrc-mono) !important;\n    font-weight: 600 !important;\n    font-size: 14px !important;\n    margin-bottom: 20px !important;\n    padding-bottom: 16px !important;\n    border-bottom: 1px dashed var(--fsrc-bd) !important;\n  }\n  #tcpel-fsrc-wrapper h3.tcpel-fsrc-h3 {\n    margin: 0 0 16px 0 !important;\n    font-size: 18px !important;\n    font-weight: 600 !important;\n    color: var(--fsrc-ink) !important;\n  }\n  \n  #tcpel-fsrc-wrapper .tcpel-fsrc-step-list {\n    display: flex !important;\n    flex-direction: column !important;\n    gap: 12px !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-step {\n    font-family: var(--fsrc-mono) !important;\n    font-size: 14px !important;\n    line-height: 1.4 !important;\n    padding-left: 24px !important;\n    position: relative !important;\n    color: var(--fsrc-ink) !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-step::before {\n    content: \"\u25a0\";\n    position: absolute;\n    left: 0;\n    top: 2px;\n    font-size: 10px;\n    color: var(--fsrc-p);\n  }\n\n  \/* \u521d\u59cb\u5360\u4f4dUI *\/\n  #tcpel-fsrc-wrapper .tcpel-fsrc-placeholder {\n    color: var(--fsrc-mut) !important;\n    font-size: 14px !important;\n    font-style: italic !important;\n    display: flex !important;\n    align-items: center !important;\n    height: 100% !important;\n  }\n\n  \/* \u89c4\u683c\u8bf4\u660e\u4e0e CTA (SEO\u5e38\u9a7b) *\/\n  #tcpel-fsrc-wrapper .tcpel-fsrc-meta {\n    margin-top: 30px !important;\n    padding: 24px !important;\n    background: #fbfdff !important;\n    border-left: 3px solid var(--fsrc-s) !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-spec-note {\n    font-size: 13px !important;\n    color: var(--fsrc-mut) !important;\n    line-height: 1.6 !important;\n    margin-bottom: 20px !important;\n    font-family: var(--fsrc-mono) !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-spec-note strong {\n    color: var(--fsrc-ink) !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-cta-link {\n    display: inline-flex !important;\n    align-items: center !important;\n    background: var(--fsrc-s) !important;\n    color: #fff !important;\n    padding: 12px 24px !important;\n    font-size: 14px !important;\n    font-weight: 600 !important;\n    text-decoration: none !important;\n    text-transform: uppercase !important;\n    letter-spacing: 0.05em !important;\n    transition: background 0.2s ease !important;\n  }\n  #tcpel-fsrc-wrapper .tcpel-fsrc-cta-link:hover {\n    background: var(--fsrc-p) !important;\n  }\n\n  \/* \u54cd\u5e94\u5f0f\u964d\u7ea7 *\/\n  @media (max-width: 900px) {\n    #tcpel-fsrc-wrapper .tcpel-fsrc-grid {\n      grid-template-columns: 1fr !important;\n    }\n  }\n<\/style>\n\n<div class=\"tcpel-fsrc-inner\">\n  <header class=\"tcpel-fsrc-header\">\n    <h1 class=\"tcpel-fsrc-h1\">Feedstock Readiness Checker<\/h1>\n    <p class=\"tcpel-fsrc-desc\">See which pre-processing stages your material needs before the pellet mill.<\/p>\n  <\/header>\n\n  <div class=\"tcpel-fsrc-grid\">\n    <div class=\"tcpel-fsrc-panel\">\n      <div class=\"tcpel-fsrc-group\">\n        <label class=\"tcpel-fsrc-label\" for=\"tcpel-t3-mat\">Material <span>INPUT\/01<\/span><\/label>\n        <select id=\"tcpel-t3-mat\" class=\"tcpel-fsrc-input\">\n          <option value=\"sawdust\">Sawdust \/ fine shavings<\/option>\n          <option value=\"chips\">Wood chips<\/option>\n          <option value=\"logs\">Logs \/ branches<\/option>\n          <option value=\"pallets\">Used pallets<\/option>\n          <option value=\"straw\">Straw \/ grass \/ EFB<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"tcpel-fsrc-group\">\n        <label class=\"tcpel-fsrc-label\" for=\"tcpel-t3-mc\">Moisture content (%) <span>INPUT\/02<\/span><\/label>\n        <input id=\"tcpel-t3-mc\" class=\"tcpel-fsrc-input\" type=\"number\" value=\"35\" min=\"1\" max=\"90\" step=\"1\">\n      <\/div>\n      <div class=\"tcpel-fsrc-group\">\n        <label class=\"tcpel-fsrc-label\" for=\"tcpel-t3-sz\">Largest particle size <span>INPUT\/03<\/span><\/label>\n        <select id=\"tcpel-t3-sz\" class=\"tcpel-fsrc-input\">\n          <option value=\"fine\">Under 5 mm (powder\/fine)<\/option>\n          <option value=\"med\">5 \u2013 25 mm<\/option>\n          <option value=\"coarse\">Over 25 mm \/ whole pieces<\/option>\n        <\/select>\n      <\/div>\n      <button class=\"tcpel-fsrc-btn\" id=\"tcpel-t3-go\" onclick=\"tcpel_fsrc_runCheck()\">Run System Check<\/button>\n    <\/div>\n\n    <div class=\"tcpel-fsrc-output-area\">\n      <div class=\"tcpel-fsrc-dynamic-box\" aria-live=\"polite\">\n        <div id=\"tcpel-t3-verdict\" class=\"tcpel-fsrc-verdict\" style=\"display: none;\"><\/div>\n        <h3 class=\"tcpel-fsrc-h3\">Stages needed before pelletizing<\/h3>\n        <div id=\"tcpel-t3-steps\" class=\"tcpel-fsrc-step-list\">\n          <div class=\"tcpel-fsrc-placeholder\">Awaiting parameter input. Click &#8220;Run System Check&#8221; to generate process flow.<\/div>\n        <\/div>\n      <\/div>\n      \n      <div class=\"tcpel-fsrc-meta\">\n        <div class=\"tcpel-fsrc-spec-note\">\n          <strong>SYSTEM SPECIFICATIONS:<\/strong> Target pelletizing window: 10\u201315% moisture, under 5 mm particle size. ISO 17225-2 fuel pellets need \u226597.5% durability \u2014 achieved when these stages are correctly matched.\n        <\/div>\n        <a href=\"#ct-popup-816\" class=\"tcpel-fsrc-cta-link\">Send your feedstock spec for a custom line &rarr;<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n\/\/ \u5168\u5c40\u51fd\u6570\uff0c\u907f\u5f00\u4f5c\u7528\u57df\u4e0e\u4e8b\u4ef6\u59d4\u6258\u62e6\u622a\nfunction tcpel_fsrc_runCheck() {\n  var mat = document.getElementById('tcpel-t3-mat').value;\n  var mc = parseFloat(document.getElementById('tcpel-t3-mc').value) || 0;\n  var sz = document.getElementById('tcpel-t3-sz').value;\n  var steps = [];\n  \n  \/\/ \u6838\u5fc3\u903b\u8f91\u91cd\u5199\uff0c0\u5339\u914d &&\n  if (mat === 'logs' || mat === 'pallets') { \n    if (mat === 'pallets') {\n        steps.push('Pallet crusher (size reduction + nail removal)'); \n    } else {\n        steps.push('Drum chipper (logs to chips)'); \n    }\n  }\n  if (mat === 'straw') { \n    steps.push('Bale grinder \/ crusher (open and pre-shred bales)'); \n  }\n  if (mat === 'chips') { \n    steps.push('Hammer mill stage will follow drying'); \n  }\n  \n  var needDry = false;\n  if (mc > 18) { \n    needDry = true;\n    steps.push('Rotary dryer (' + mc + '% to 10\u201315% target moisture)'); \n  }\n  \n  if (sz !== 'fine') { \n    steps.push('Hammer mill (grind to under 5 mm)'); \n  }\n  \n  steps.push('Pellet mill (compress to \u00d86\/8 mm pellets)');\n  steps.push('Pellet cooler + packing machine (finish and bag)');\n  \n  \/\/ \u7eaf\u5d4c\u5957\u53d6\u4ee3 &&\n  var isReady = false;\n  if (needDry === false) {\n      if (sz === 'fine') {\n          if (mat === 'sawdust') {\n              isReady = true;\n          }\n      }\n  }\n\n  var verdictNode = document.getElementById('tcpel-t3-verdict');\n  verdictNode.style.display = 'block';\n  \n  if (isReady === true) {\n    verdictNode.style.color = 'var(--fsrc-ok)';\n    verdictNode.textContent = 'SYSTEM STATUS: \u2713 Near pellet-ready \u2014 minimal pre-processing.';\n  } else {\n    verdictNode.style.color = 'var(--fsrc-warn)';\n    verdictNode.textContent = 'SYSTEM STATUS: \u26a0 Pre-processing required before the press.';\n  }\n  \n  \/\/ \u4f7f\u7528 while \u53d6\u4ee3\u5305\u542b < \u7684 for \u5faa\u73af\uff0c\u9632\u6b62 WP \u8bef\u5c06\u5176\u89e3\u6790\u4e3a HTML\n  var htmlString = '';\n  var i = 0;\n  while (steps[i]) {\n      htmlString = htmlString + '<div class=\"tcpel-fsrc-step\">' + steps[i] + '<\/div>';\n      i = i + 1;\n  }\n  document.getElementById('tcpel-t3-steps').innerHTML = htmlString;\n}\n<\/script>\n<\/div>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Feedstock Readiness Checker See which pre-processing stages your material needs before the pellet mill. Material INPUT\/01 Sawdust \/ fine shavingsWood chipsLogs \/ branchesUsed palletsStraw \/ grass \/ EFB Moisture content (%) INPUT\/02 Largest particle size INPUT\/03 Under 5 mm (powder\/fine)5 \u2013 25 mmOver 25 mm \/ whole pieces Run System Check Stages needed before pelletizing [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":7,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-3228","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/tcpel.net\/id\/wp-json\/wp\/v2\/pages\/3228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tcpel.net\/id\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tcpel.net\/id\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tcpel.net\/id\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/tcpel.net\/id\/wp-json\/wp\/v2\/comments?post=3228"}],"version-history":[{"count":0,"href":"https:\/\/tcpel.net\/id\/wp-json\/wp\/v2\/pages\/3228\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/tcpel.net\/id\/wp-json\/wp\/v2\/pages\/7"}],"wp:attachment":[{"href":"https:\/\/tcpel.net\/id\/wp-json\/wp\/v2\/media?parent=3228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}